Laravel 5 Laravel 5.5带OR/ELSE条件的验证

Laravel 5 Laravel 5.5带OR/ELSE条件的验证,laravel-5,laravel-5.5,laravel-validation,php-7.1,Laravel 5,Laravel 5.5,Laravel Validation,Php 7.1,我是laravel的新手,我想知道是否有一种方法可以在$rules中使用or/else条件,因为我正在努力进行以下验证: 如果字段为Z,则大小必须为y,否则为x。 我试过这个,但它总是验证大小为11的数据 'type => 'required', 'field' => ['required', ('type == 1' ? 'size:11' : 'size:14')], 有人有线索吗?提前感谢使用Laravel验证器, 参考链接: 我假设您使用表单请求验证,以便可以执行以下操

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

'type   => 'required',
'field' => ['required', ('type == 1' ? 'size:11' : 'size:14')],
有人有线索吗?提前感谢

使用Laravel验证器, 参考链接:


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

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

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

return $rules;

但我使用的是laravel验证器
$rules = [
   'type' => 'required',
   'field' =>  ['required'];
];

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

return $rules;