Laravel required_without数组中的验证规则



假设我有一个由property_aproperty_b组成的对象,并且在提交时必须至少接收这两个属性中的一个。
如果对象只有一个,我可以使用required_without验证规则,如下所示

return [
'property_a' => ['required_without:property_b'],
'property_b' => ['required_without:property_a'],
];

如果我的对象本身在另一个对象中,使用虚线符号会很容易:

return [
'parent_object.property_a' => ['required_without:parent_object.property_b'],
'parent_object.property_b' => ['required_without:parent_object.property_a'],
];

但是,如何将此验证规则与对象数组一起使用呢?

return [
'array.*.property_a' => ['required_without:???.property_b'],
'array.*.property_b' => ['required_without:???.property_a'],
];

required_without的文档没有明确说明我的用例。
有解决方法吗?

在验证数组中同时适用于键和值,因此您甚至可以在规则中使用*

所以试试这个:

return [
'array.*.property_a' => ['required_without:array.*.property_b'],
'array.*.property_b' => ['required_without:array.*.property_a'],
];

参考: https://laravel.com/docs/6.x/validation#validating-arrays

相关内容

  • 没有找到相关文章

最新更新