提问人:Duddy67 提问时间:9/24/2023 最后编辑:jonrsharpeDuddy67 更新时间:9/24/2023 访问量:61
具有动态文件输入的验证规则
Validation rules with dynamic file inputs
问:
“我的表单”允许用户添加字段以动态上传文件。
<input type="file" name="your_file_{{ $i }}" id="your_file_{{ $i }}">
因此,它会生成输入名称,例如:、、...your_file_1
your_file_2
现在我想通过验证规则使这些字段成为必填字段,但我找不到这样做的方法。 我尝试使用通配符,但它不起作用。
$rules['your_file_*'] = 'required|mimes:pdf,doc,docx,png,jpg,jpeg|max:10000';
有什么想法吗?
答:
-1赞
timgavin
9/24/2023
#1
若要指定通配符规则,请使用点语法:.*
$rules = [
'your_file_.*' => 'required|mimes:pdf,doc,docx,png,jpg,jpeg|max:10000'
];
评论
0赞
Duddy67
9/24/2023
我已经试过了。这是行不通的。
1赞
Herrys Aghista Rachman
9/24/2023
#2
for($i = 1; $i <= count($request->all()) - 1; $i++) {
$validate_array['var'. $i] = 'required';
}
$this->validate($request, $validate_array );
-1 用于 POST 中的令牌 CSRF,总循环仅用于 dinamic 输入。
这里供参考
评论
1赞
Tim Lewis
9/25/2023
count($request->all()) - 1
那会起作用,但你也可以做.如果 CSRF 检查中省略了此路由,并且未包含此路由,则您的代码将出现问题。count($request()->except('_token'))
_token
0赞
Herrys Aghista Rachman
9/25/2023
好的,谢谢你的提示。
下一个:连接响应验证
评论
name="your_file_{{ $i }}"
name="your_files[]"
['your_files' => 'array|required', 'your_files.*' => 'mimes:...|max:10000']