gpt4 book ai didi

php - Laravel 表单请求 hasFile() 不起作用

转载 作者:行者123 更新时间:2023-12-04 01:01:54 27 4
gpt4 key购买 nike

我正在使用 Laravel 表单请求来验证输入组数组。我需要使用循环检查文件以进行自定义验证。但它显示了这个错误。

Error
Call to undefined method Symfony\Component\HttpFoundation\ParameterBag::hasFile()
我的 HTML 输入 (createUser.blade.php)
<input type="text"  name="users[0][name]">
<input type="number" name="users[0][age]">
<input type="file" name="users[0][profile_pic]">

<input type="text" name="users[1][name]">
<input type="number" name="users[1][age]">
<input type="file" name="users[1][profile_pic]">
我的表单请求 (CreateUserFormRequest.php)
dd($this->request->hasFile('users');

最佳答案

FormRequest如果你想检查请求是否有值(value),那么你可以像下面那样做

$this->has('users')
如果你想检查请求是否有文件然后
 $this->hasFile('logo')
还要确保输入类型是文件
要检查请求中的所有数据,然后
 $this->all()
对于文件,确保输入类型是文件
<input type="file"  name="users[1][profile_pic]">
还要确保 enctype="multipart/form-data"在表单标签中
<form method="POST" action="" enctype="multipart/form-data">

Updated
<form method="POST" action="{{route("testing")}}" enctype="multipart/form-data">
@csrf
<input type="number" name="users[0][name]">
<input type="number" name="users[0][age]">
<input type="file" name="users[0][profile_pic]">

<input type="number" name="users[1][name]">
<input type="number" name="users[1][age]">
<input type="file" name="users[1][profile_pic]">
<button type="submit">Submit</button>

</form>
并在表格请求中
 foreach ($this->users as $key=>$value){
if($value['profile_pic']!=null){
dump($value['profile_pic']);
}
}
如果您正在寻找文件验证,那么您可以执行以下操作
public function rules()
{
return [
'users.*.profile_pic'=>'required|file'
];
}
在你看来
   <input type="file"  name="users[0][profile_pic]">
{{ $errors->first('users.0.profile_pic') }}

<input type="file" name="users[1][profile_pic]">
{{ $errors->first('users.1.profile_pic') }}

关于php - Laravel 表单请求 hasFile() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68081815/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com