如何解决如何在表单中为所有输入文件制作laravel验证器
我尝试为表单中的所有输入类型文件添加验证器。我不使用输入类型文件“多个”。 加载页面时,我的表单只有一个输入文件。然后,用户可以通过单击“添加”按钮添加其他文件。 因此,我需要为动态添加的所有输入类型文件制定验证规则。 也许这个问题看起来很愚蠢,但是我不想输入多个,老板发现它“不是用户友好的”。 我怎样才能做到这一点? 谢谢
解决方法
您可以将多个输入字段添加为动态字段,例如:
<input name="image[]" type="file">
<input name="image[]" type="file">
在您的控制器上,您将以数组的形式接收它,因此您可以像这样进行验证:
$data = $request->validate([
"image" => "required|array",// array validation
"image.*" => "required|image|mimes:png,gif,jpeg,jpg",// field validation from the array
]);
,
只需为添加的每个输入文件设置一个名称,然后在名称的末尾添加[]
<input name="file_input[]" type="file">
<input name="file_input[]" type="file">
<input name="file_input[]" type="file">
<input name="file_input[]" type="file">
首先在控制器方法中将其验证为数组 然后验证内容
如果要至少一个文件,请将min:1
添加到验证器选项
$data = $request->validate([
"file_input" => "required|array|min:1",// array validation atleast one file is needed
"file_input.*" => "required|file|mimes:png,jpg,pdf,doc",// field validation from the array
]);
其他
$data = $request->validate([
"file_input" => "required|array",// array validation
"file_input.*" => "required|file|mimes:png,// field validation from the array
]);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。