Как вернуть только первую ошибку для каждого поля в валидаторе Laravel?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как вернуть только первую ошибку для каждого поля в валидаторе Laravel?

Сообщение Anonymous »

При возврате ошибок для простой проверки набора полей Laravel возвращает ключ/значение с «полем»/массивом со строкой внутри вместо простой строки с описанием ошибок.
Вот как выглядит код валидатора:

Код: Выделить всё

        $validator = Validator::make($request->all(),[
'email'=>'required|email|unique:user',
'first_name'=>'required|min:3',
]);

if ($validator->fails())
{
$response = ['errors'=>$validator->errors()];
return $this->r(ResponseFactory::invalid_input_params($response));
}
Вот что я получаю:

Код: Выделить всё

{
"code": 400,
"kind": "invalid_input_params",
"status": "error",
"data": {
"errors": {
"email": [
"The email has already been taken."
],
"first_name": [
"The first name field is required."
]
}
}
}
Вот что я хочу:

Код: Выделить всё

{
"code": 400,
"kind": "invalid_input_params",
"status": "error",
"data": {
"errors": {
"email": "The email has already been taken.",
"first_name": "The first name field is required."
}
}
}
Я пытаюсь передать интерфейсному приложению ошибки из конечной точки API для обычной формы и хочу, чтобы в каждом поле была только ошибка.
По умолчанию Laravel выводит массив для каждого поля, даже если в каждом поле есть только ошибка — я пытаюсь преобразовать его в строку и принять только первую ошибку.>

Подробнее здесь: https://stackoverflow.com/questions/764 ... -validator
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»