我正在尝试有条件地验证Laravel中的数组输入。我遵循此处提供的文档。但是该文档没有提供如何对数组输入执行此操作的详细信息。下面是我正在尝试的代码
$rule = [
'report.*' => 'max:255',
'comment.*' => 'exclude_if:report.*,file|max:65535'
];
$validator = Validator::make($array, $rule);
这里的报告是一个文件输入,注释是一个文本区域字段。
<input type="file" name="report[0]"/>
<input type="file" name="report[1]"/>
<textarea name="comment[0]"></textarea>
<textarea name="comment[1]"></textarea>
如果相应的文件输入为空,则需要注释字段。我如何在Laravel 7中实现这一点?
是否尝试required_if?
我认为你必须写";报告";而不是";文件";因为您的输入名称是report。
如果这不起作用,也许你需要制定一个自定义规则。
我能够使用下面的代码来完成它。
$rule = [
'report.*' => 'max:255',
'comment.*' => 'required_without:report.*|max:65535'
];
$validator = Validator::make($array, $rule);