【问题标题】:Laravel 5.5 Validation with OR/ELSE conditionalLaravel 5.5 使用 OR/ELSE 条件验证
【发布时间】:2017-12-14 11:59:39
【问题描述】:

我是 laravel 的新手,我想知道是否有办法在 $rules 中使用 or/else 条件,因为我正在努力尝试进行以下验证: 如果字段为 Z,则大小必须为 y,否则为 x。 我试过这个,但它总是验证 size:11 的数据

'type   => 'required',
'field' => ['required', ('type == 1' ? 'size:11' : 'size:14')],

有人知道吗?提前谢谢

【问题讨论】:

    标签: laravel-5 laravel-5.5 laravel-validation php-7.1


    【解决方案1】:

    我假设您使用表单请求验证,因此您可以执行以下操作:

    $rules = [
       'type' => 'required',
       'field' =>  ['required'];
    ];
    
    $rules['field'][] = ($this->input('type') == 1) ? 'size:11' : 'size:14';
    
    return $rules;
    

    【讨论】:

      【解决方案2】:

      使用 Laravel 验证器, 参考链接:https://laravel.com/docs/5.5/validation

       $validatedData = $request->validate([
                  'title' => 'required|unique:posts|max:255',
                  'body' => 'required',
              ]);
      

      【讨论】:

      • 但我使用的是 laravel 验证器
      猜你喜欢
      • 1970-01-01
      • 2018-03-15
      • 1970-01-01
      • 2018-12-17
      • 2018-09-15
      • 1970-01-01
      • 2018-09-13
      • 1970-01-01
      • 2018-07-16
      相关资源
      最近更新 更多