laravel - Laravel-Vue:如何使用 try-catch 块来捕获验证请求中的验证异常?
问题描述
我正在使用 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
。如果我简单地使用try catch,validation
它就可以工作。但不能让它与Validation Request object
.
在我的控制器中:“ProductRequest”是具有验证规则的验证对象。它给了我错误,但无法axios
在 vue 的 try-block 中捕获。
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 块”中捕获它
解决方案
试试这样:
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);
}
});