Laravel 5.5使用OR / ELSE条件验证

时间:2017-12-14 11:59:39

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

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

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

任何人都有线索?提前谢谢

2 个答案:

答案 0 :(得分:0)

使用Laravel Validator, 请参阅链接:https://laravel.com/docs/5.5/validation

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

答案 1 :(得分:0)

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

$rules = [
   'type' => 'required',
   'field' =>  ['required'];
];

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

return $rules;