Laravel验证:仅当需要字段时,值必须在数组中

时间:2017-01-19 12:27:25

标签: php validation laravel-5 laravel-5.3 rules

我正在使用Laravel 5.3,我需要验证字段

我需要验证的字段仅在另一个字段的值为1时才需要,这是有效的。

如果需要该字段,则输入的值必须在给定的数组中。

问题是被验证的值是NULL,因此不会出现在数组中并且验证失败

到目前为止,这是我的规则

$test->other_field = 0
$test->my_field = NULL;

$rules = array(
    'my_field' => 'required_if:other_field,1', //|in:' . implode(',', $array),
);

required_if工作正常,但如果我取消注释in部分,则验证失败

1 个答案:

答案 0 :(得分:0)

我通过创建一个新的FormRequest并添加以下代码来解决它。

public function rules(Request $request)
{
    if($request->has('other_field '))
    {
        $rules = array(
            'my_field' => 'in:' . implode(',', $array)
        );

        return $rules;
    }
}
相关问题