Я пытаюсь отобразить определенные сообщения об ошибках от контроллера Laravel для пользователя с помощью уведомлений IziToast и перехватчиков axios, он работает до определенного момента, но я не могу получить базовые сообщения об ошибках.
I 'мы пытались настроить валидатор laravel по умолчанию, но он не работает.
Controller code
protected function validator(array $data)
{
$validator= Validator::make($data, [
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'string', 'min:6'],
]);
if($validator->fails()) {
$error =$validator->errors()->first();
return response()->json(['message' => $error], 422);
}
}
Error Handler
import toast from './toast';
function errorResponseHandler(error) {
if(error.config.hasOwnProperty('errorHandle') && error.config.errorHandle === false) {
return Promise.reject(error);
}
if(typeof error !== 'undefined'){
if(error.hasOwnProperty('errorHandle')){
toast.error(error.response.data.message);
}
}
if(typeof error.response !== 'undefined'){
//Setup Generic Response Messages
if(error.response.status === 422){
toast.error(error.response.data.message);
}
Toast
const toast = {
error: (message, title = '') => {
return iZtoast.error({
title: title,
message: message,
position: 'bottomCenter',
});
}
export default toast;
Toast отображает только сообщения первого уровня с сообщениями об ошибках. Как добраться до основных ошибок, таких как «электронная почта уже занята»