Laravel-Vue: Как я могу использовать блок try-catch для перехвата исключения проверки в запросах проверки? - PullRequest
0 голосов
/ 21 января 2019

Я использую vue.js.Я бью свой сервер с помощью axios, например:

            try{
                const resp  = await axios.post('storeProduct', data, 
                            {
                                headers : header(state)
                            });
                console.log(resp);              

            }catch(error){
                console.log("you are at error");
                console.log(error);


           }

Здесь я записываю консоль об ошибке, где я получаю ошибку 422, но я также хочу получить message.Если я использую попробуйте catch в простом validation, это работает.Но я не могу заставить его работать с Validation Request object.

В моем контроллере: «ProductRequest» - это объект проверки, имеющий правила проверки.Это дает мне ошибки, но не может поймать в блоке попытки axios в vue.

 public function storeProduct(ProductRequest $request){

        try{
            return $controller->saveProducts($request);
        }catch(\Exception $e){
            return  $e;
        }

    }

ProductRequest.php

public function rules()
    {
        try{
            return validation_value('add_products');
        }catch(\Exception $e){
            return $e;
        }
    }

Есть ли в любом случае, что я мог бы вернутьотсюда сообщение об ошибке и перехватите его в моем блоке vue axios try / catch *

1 Ответ

0 голосов
/ 21 января 2019

Попробуй так:

axios.post('storeProduct', data, 
        {
            headers : header(state)
        })
  .then(response => console.log(response.data))
  .catch(error => {
    if (error.response) {
      console.log("you are at error");
      console.log(error.response);
    }
  });
...