Php 如何有条件地验证Laravel 7中的数组输入?
我试图有条件地验证Laravel中的数组输入。我遵循提供的文件。但是文档没有提供如何在数组输入上执行此操作的详细信息。下面是我正在尝试的代码Php 如何有条件地验证Laravel 7中的数组输入?,php,laravel,laravel-7,Php,Laravel,Laravel 7,我试图有条件地验证Laravel中的数组输入。我遵循提供的文件。但是文档没有提供如何在数组输入上执行此操作的详细信息。下面是我正在尝试的代码 $rule = [ 'report.*' => 'max:255', 'comment.*' => 'exclude_if:report.*,file|max:65535' ]; $validator = Validator::make($array, $rule)
$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中实现这一点?如果需要,您是否尝试过 我认为你们必须写“报告”而不是“文件”,因为你们的输入名是“报告”
如果这不起作用,也许您需要制定一个自定义规则。我可以使用下面的代码来完成
$rule = [
'report.*' => 'max:255',
'comment.*' => 'required_without:report.*|max:65535'
];
$validator = Validator::make($array, $rule);
我认为您应该在这里使用自定义规则,只需大声思考,但可能会将结构更改为类似于
report[0][file]
和report[0][comment]
。足够接近了!我用了“不需要”这个词,效果很好必填_if'用于检查是否存在其他字段。谢谢你的帮助。