Вот так, я передаю в вид ошибки, без аякса, это работает.
public function login(Request $request) {
$messages = [
'email.required' => 'Заполните поле',
'email.email' => 'Вы ввели не email'
];
$validator = Validator::make($request->all(), [
'email' => 'required|string|email|max:255',
], $messages);
if ($validator->fails()) {
return Redirect::back()->withErrors($validator);
}
}
Но если добавить аякс, то этот способ уже не работает.
Наверно возвращать надо уже не методом withErrors, а как то по другому, как? Как в контроллере вытащить ошибки, которые попали в массив $validator? И потом их уже вернуть
так выдаёт 500
return response()->json(withErrors($validator));
Вот моё решение
$messages = [
'email.required' => 'Заполните поле',
'email.email' => 'Вы ввели не email',
'password.required' => 'Введите пароль',
'password.min' => 'Пароль слишком короткий (миниум 8 символов)',
];
$validator = Validator::make($request->all(), [
'email' => 'required|string|email|max:255',
'password' => 'required|min:8',
], $messages);
if ($validator->fails()) {
//return Redirect::back()->withErrors($validator); //без аякса
return response()->json($validator->errors());
}