【发布时间】:2022-10-14 15:20:11
【问题描述】:
即使我使用 axios 使用了 validate() 方法,我也没有收到错误。
这是我的控制器,
public function store(Request $request)
{
$fields = $request->validate([
'product_name' => 'required',
'product_cost' => 'required | integer',
'product_selling' => 'required | integer',
'product_stock' => 'required | integer',
]);
Product::create([
'name' => $fields['product_name'],
'cost' => $fields['product_cost'],
'selling' => $fields['product_selling'],
'stock' => $fields['product_stock'],
]); }
这是我的 Vue 文件
const productState = reactive({
product_name: "",
product_cost: "",
product_markup: "",
markup_type: "Markup by price",
product_selling: "",
product_stock: "",
returned_errors: [],
});
axios .post("api/products", productState)
.then((response) => {
console.log(response);
})
.catch((error) => console.log(error.response.data.errors));
即使它有错误,它仍然会返回响应。
【问题讨论】:
-
首先,您应该了解
$request->validatethis 如何抛出验证异常及其格式,以及 laravel 如何确定您的请求是 API 调用。您应该发送 Accept: application/json 标头,以便 laravel 知道您想要返回 API 响应。 -
@AnujShrestha 不起作用兄弟我试过:(
-
好的,我将发布一个适用于您的代码的答案
标签: laravel vue.js vuejs2 axios try-catch