Как получить ошибку валидации laravel + vue?

Для получения ошибок валидации, которые возникли при отправке данных из Vue.js на сервер Laravel, необходимо выполнить несколько шагов:

1. На стороне фронтенда (Vue.js) нужно сначала настроить логику обработки ошибок в ответе от сервера после отправки данных. Как правило, при использовании библиотеки axios для обработки HTTP-запросов, можно указать обработчик ошибок, который будет срабатывать при получении ошибочного ответа:

axios.post('/submit-form', formData)
  .then(response => {
    // обработка успешного ответа
  })
  .catch(error => {
    if (error.response.status === 422) {
      // ошибка валидации
      this.errors = error.response.data.errors;
    }
  });

2. После обработчика ошибок в фронтенде, на стороне сервера Laravel необходимо вернуть ошибки валидации в формате, понятном фронтенду. Обработка ошибок валидации в Laravel обычно выполняется автоматически при использовании встроенных механизмов валидации запросов. Ошибки валидации могут возвращаться в формате JSON.

Пример контроллера в Laravel, который обрабатывает данные и возвращает ошибки валидации:

public function submitForm(Request $request)
{
    $validator = Validator::make($request->all(), [
        'name' => 'required',
        'email' => 'required|email',
    ]);

    if ($validator->fails()) {
        return response()->json(['errors' => $validator->errors()], 422);
    }

    // Логика сохранения данных

    return response()->json(['success' => true]);
}

При возникновении ошибок валидации, сервер вернет ответ со статусом 422 и данными об ошибках в формате JSON. Ошибки можно затем преобразовать и отобразить на фронтенде, чтобы пользователь мог увидеть, что необходимо исправить в форме.

Таким образом, с помощью сочетания обработчика ошибок на фронтенде в Vue.js и формирования ответа об ошибках на стороне сервера в Laravel, вы сможете корректно обрабатывать и отображать ошибки валидации при работе с формами в вашем проекте.