if you need this format for a validation error message, I think you should create something a little more “complex” from what you actually have out of the box.
Here you will get a simple validation test.
This is the code I used.
Route::get('/', function () {
$data = ['name' => ''];
$rules = ['name' => 'required'];
$v = \Validator::make($data, $rules);
dd($v->errors());
});
... and that is the way out.
MessageBag {
"name" => array:1 [▼
0 => "The name field is required."
]
]
}
"OK, so what can I do?"
, . , . , - :
"The name field is required."
, "". , , - . , , .
, -. , , .
, .
$errors = $v->errors();
$firstElement = reset($errors);
dd($firstElement);
- :
array:1 [▼
"name" => array:1 [▼
0 => "The name field is required."
]
]
, , -
$key = key($firstElement);
$value = reset($firstElement)[0];
.
, .
:
return response()->json(
[
"code" => "400",
"error" =>
[
"code" => "10",
"title"=> "Field $key is empty." ,
"message" => $value
]
]);
, , .
, .
source
share