我正在尝试进行更新请求,因此一些字段是不需要的,这个字段中的1个字段在填充时必须检查其他字段是否为空。这就是我所做的:
public function rules()
{
return [
'field_a' => ['sometimes', 'nullable', 'required_without_all:field_b,field_c'],
'field_b' => ['sometimes', 'nullable'],
'field_c' => ['sometimes', 'nullable'],
];
}
还有别的办法吗?
您必须执行以下操作:
$validator = Validator::make($request->all(), [
"field_a" => [
"nullable",
Rule::requiredIf(function () use ($request) {
if (!$request->field_b && !$request->field_c) {
return true;
}
return false;
})
]
]);
您可以使用required_if,我认为它更适合建立验证条件。
检查所需的if文档以供参考https://laravel.com/docs/8.x/validation#specifying-语言文件中的自定义值