当另一个字段有些值时,我需要一个字段为空。我想这样做:
'distance' => 'required_if:distance_type,==,1 | required_without:distance_type,!=,1'
这背后的想法是:
如果distance_type
等于1,则应该需要distance
并且如果distance_type
不等于1,那么distance
应该是空的,不应该有值。
我怎么能这样做?
Laravel有一个非常好的方法来管理复杂的验证逻辑。您可以简单地创建一个规则类,例如Distance.php
并在其中具有逻辑。
然后对于验证器,它看起来如下所示:
'distance' => [new Distance]
看看这里的文档 - https://laravel.com/docs/5.7/validation#custom-validation-rules
嗨尝试类似的东西。
return [
'distance' => 'required_without:distance_type | different: distance_type',
'distance_type' => 'required_without:distance | different: distance',
];
试试这个:
'distance' => 'required_unless:distance_type,2,3,4