I'm using Laravel form request to validate a array of input group. I need to check files using a loop for a custom validation. But it shows this error.
Error
Call to undefined method Symfony\Component\HttpFoundation\ParameterBag::hasFile()
My HTML inputs (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]">
My Form Request (CreateUserFormRequest.php)
dd($this->request->hasFile('users');
Inside FormRequest class if you want to check whether request has value or not then you can do like below
$this->has('users')
If you want to check request has file or not then
 $this->hasFile('logo')
also make sure input type is file
To check all data in request then
 $this->all()
For files make sure input type is file
<input type="file"  name="users[1][profile_pic]">
Also make sure  enctype="multipart/form-data" in form tag
<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>
and in Form request
 foreach ($this->users as $key=>$value){
            if($value['profile_pic']!=null){
                dump($value['profile_pic']);
            }
        }
If you are looking for file validation then you can do the following
public function rules()
    {
        return [
            'users.*.profile_pic'=>'required|file'
        ];
    }
and in your view
   <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') }}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With