Как поместить сообщение об ошибке из внешнего валидатора в пакет сообщений?
Дело в том, что я получаю ответ об ошибке от валидатора из моего API, я получаю сообщение об ошибке, которое я хотел бы отправить существующему валидатору на моей странице.
Итак, у меня есть форма, которая проверяется с помощью средства проверки laravel на моей странице и средства проверки API.
То, что я пробовал, было:
dd(ValidationException::withMessages([
'email' => $errors->email,
]));
, где $errors->email
- просто сообщение об ошибке. Но он работает не так, как если бы он был проверен внутри локального проекта, сообщения проверки не переведены и т. Д. ...
Также я попробовал
throw ValidationException::withMessages([
$validator->errors()->add('email', $errors->email[0])
]);
Где это приблизилось к решению:
В ValidationException
у меня есть экземпляр исключения, но свойство сообщения слишком вложенное:
{
"validator": {
"messages": {
"0" => [
0 => MessageBag(2)
]
}
}
}
Сообщения слишком вложенные и все еще не ведут себя так же, как локальные.
Если я не достаточно ясен, я могу дать дополнительное объяснение.
EDIT:
Чтобы получить ошибки из API, который я использую:
$errors = $response->getErrors()->email;
, что дает мне:
array:1 [▼
0 => {#784 ▼
+"code": 42252
+"message": "The email has already been taken."
}
]
поэтому я не могу использовать $response->getErrors()->email->first()