基于其他用户输入的Laravel验证输入

Par*_*ars 3 php validation laravel-4

我有一个提交类别的表单.(新的,编辑)

<form ... >
    <input type="text" name="name" />

    <select name="parent_id" >
        <option value="0" >Root</option>
        <option value="1" >Computer</option>
        <option value="..." >...</option>
    </select>
</form>
Run Code Online (Sandbox Code Playgroud)

parent_id中的每个id都是数据库中的类别id,除了0,root;

我希望有一个验证说:如果不是0,则检查parent_id是类别表中的有效id.(0是root,而不是数据库中的id)

我怎么能用laravel验证规则来做到这一点.

小智 5

我之前没有使用过.但请尝试以下.目前无法测试自己.

/* This is untested code  */

$validation->sometimes('parent_id', 'exists:categories', function($input)
{
    return $input->parent_id > 0;
});

/* This is untested code.*/
Run Code Online (Sandbox Code Playgroud)

手动输入:http://laravel.com/docs/validation#conditional-adding-rules