My controller receives the following XHR request:
[
"data" => [
"key1" => "value1",
"key2" => "value2",
]
]
That’s why the validation always returns a fail. But I only want to validate the data within data. Is there a request validation function where I only pass the data?
>Solution :
As a user mentioned in the comments, you have to iterate each entry by using data.KEY format.
If your data is like:
[
"data" => [
"key1" => "value1",
"key2" => "value2",
]
]
You can validate it like this:
public function rules()
{
return [
'data' => ['required', 'array'],
'data.key1' => ['required', 'string', 'in:value1,valueN'],
'data.key2' => ['required', 'string', 'unique:table,column'],
];
}
Those rules are just examples, so please, do read How to validate arrays as the documentation has a defined section about it