gsk
gsk

Reputation: 2379

Validate array object in laravel form request validation?

I am sending following json array to server,

 {
    "details": {
        "0": {
            "name": "agency name"
        },
        "1": {
            "name": "agency name arabic"
        }
    }
}

I want to validate details in form request.

I tried as follows but not working fine,

protected $rules = [
        'details.*.name' => 'required|string',
    ];

Upvotes: 0

Views: 1768

Answers (2)

Nisal Gunawardana
Nisal Gunawardana

Reputation: 1455

I send below array from a HTML+Vue.js data grid/table:

[0] => Array
    (
        [item_id] => 1
        [item_no] => 3123
        [size] => 3e
    )
[1] => Array
    (
        [item_id] => 2
        [item_no] => 7688
        [size] => 5b
    )

And use this to validate:

$this->validate($request, [ '*.item_id' => 'required|integer', '*.item_no' => 'required|integer', '*.size' => 'required|max:191', ]);

Upvotes: 0

Marcin Nabiałek
Marcin Nabiałek

Reputation: 111889

The problem here is that you don't send array here, you should send it like this:

{
    "details": [
        {
            "name": "agency name"
        },
        {
            "name": "agency name arabic"
        }
    ]
}

Upvotes: 1

Related Questions