【问题标题】:Laravel validation: value has to be in array only if field is requiredLaravel 验证:只有在需要字段时,值才必须在数组中
【发布时间】:2017-06-04 03:40:54
【问题描述】:

我正在使用 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 部分,验证失败

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-02-03
      • 2015-08-18
      • 1970-01-01
      • 2016-06-11
      • 2021-12-24
      • 2018-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多