我有一个带有image_file(image_file[1]
,image_file[2]
)数组的数组。它们是类型文件的输入。
仅当在2上定义了另一个字段数组(proposition_type)时,才需要此图像。
例如:
proposition_type[1] == 2
,image_file[1]
必须填写; proposition_type[2] == 1
,image_file[2]
不必填写。我尝试使用以下规则:
$rules = [
(...)
'image_file.*' => 'required_if:proposition_type.*,2|image',
];
但是出现image_file字段上的任何错误。
此外,我在required
上使用了image_file.*
验证程序,在这里再次没有出现错误。
也许有人对此有解决方案?还是我做错了什么? :)
谢谢!
答案 0 :(得分:0)
如果您想为required_if规则构造一个更复杂的条件,则可以使用Rule :: requiredIf方法。此方法接受布尔值或闭包。通过闭包时,闭包应返回true或false,以指示是否需要验证的字段。这样的事情可能对您有用:
Validator::make($request->all(), [
'image_file[1]' => Rule::requiredIf(function () use ($request) {
if($request->proposition_type[1] == 2)
return true;
else
return false;
}),
'image_file[2]' => Rule::requiredIf(function () use ($request) {
if($request->proposition_type[2] == 1)
return false;
else
return true;
}),
]);