我正在使用 laravel 9 和 Vue 3。我正在嘗試訪問 vue 中的 laravel 驗證錯誤。laravel 發送的錯誤資訊。
{message: "The given data was invalid.",…}
errors: {supplyData.supplier_id: ["Please fill the supplier field"]}
supplyData.supplier_id: ["Please fill the supplier field"]
0: "Please fill the supplier field"
message: "The given data was invalid."
我已嘗試使用以下代碼來訪問錯誤,但它不起作用。
<span
v-if="errors['supplyData.supplier_id']"
class="invalid_feedback"
style="display:block; color:red;"
role="alert"
>
{{ errors["supplyData.supplier_id"][0]}}
</span>
api呼叫
create() {
console.log(this.submitData);
console.log(this.commonData);
axios
.post("/ajax/supply", {
batchData: this.submitData,
supplyData: this.commonData
})
.then(response => {
if (response.data.success) {
// console.log("success");
swal({
title: "Successfully created",
icon: "success"
}).then(() => {
window.location.href = "/supplies";
});
this.errors = {};
}
})
.catch(error => {
this.errors = error.response.data.error;
console.log(this.errors);
});
}
控制器:
public function ajaxCreate(SupplyRequest $request){
// return $request->all();
$request->validate([
'supplier_id' => 'required',
]);
uj5u.com熱心網友回復:
如果您檢查控制臺以查看來自 laravel 后端的真實回應,您可能會看到它位于資料物件內部,
假設您有 axios 呼叫,例如 store()..
在此存盤請求之后,您獲得的資料是回應。錯誤在此回應的內部資料中。
您可能可以像這樣到達它:response.data.errors
.catch(error => {
this.errors = error.response.data.errors; // this should be errors.
console.log(this.errors);
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/437495.html
上一篇:Vue<a>標簽href屬性拼接
