php - How to validate JSON in Laravel API regardless of parameters order?
one text
I am making an iOS app with Alamofire as the HTTP Request handler, and in the iOS App, i want to send a JSON payload to a Laravel API server. More or less, the JSON structure looks like this:
{
"test_data": "Any data is here",
"another_data": "Another data is here"
}
Now, in my Laravel project, I've been implementing a validation rule, basically to validate that those 2 params in the JSON is required and in a type of String. Here's my code to implement the validator:
$validator = Validator::make($request->all(), [
'test_data' => 'required|string',
'another_data' => 'required|string'
]);
if ($validator->fails()) {
return redirect()->route('dataNotComplete');
}
The confusion is that this works, but it only works in order. Hence, if the JSON structure becomes flipped like this:
{
"another_data": "Another data is here",
"test_data": "Any data is here"
}
Validator will fails the test, even though the data is technically correct. How do I make the validator doesn't care about data ordering, or do another library exist for validating JSON specifically? I just want to validate the data of each params, not including the order of the data on the JSON Payload. Any thoughts or idea will be appreciated! Thank you!
P.S. I read from here that JSON order of parameters shouldn't matter, so that's that.
Source