[英]Laravel Inertia not returning validation errors
慣性不返回任何驗證錯誤
這是我的 controller 代碼
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
Request::validate([
'firstName' => ['required', 'string', 'max:100'],
'lastName' => ['required', 'string', 'max:100'],
'shopName' => ['required', 'string', 'max:100'],
'email' => ['required', 'email', Rule::unique('vendors', 'email')],
'mobile' => ['required', 'string'],
'password' => ['required', 'min:6', 'max:12', 'confirmed']
]);
Vendor::create($request->validated());
return Redirect::route('vendors.create')->with('success', 'Vendor created.');
}
這是我的 vue 組件代碼
export default {
name: "Create Vendor",
props: {
auth: Object,
errors: Object,
},
data() {
return {
form: this.$inertia.form({
firstName: null,
lastName: null,
shopName: null,
email: null,
mobile: null,
password: null,
password_confirmation: null,
}),
};
},
methods: {
store() {
return this.form.post(this.route("vendors.store"));
},
},
};
但是提交后報錯 object 總是為空
注意:我還設置了 HandleInertiaRequest 中間件。
請確保這些事情
檢查app/Providers/AppServiceProvider.php
文件中的register
方法。
你應該有這樣的Inertia::share
。
Inertia::share('errors', function () {
return session()->get('errors') ? session()->get('errors')->getBag('default')->getMessages() : (object) [];
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.