这里我使用 Laravel 11,并将 Blade 替换为 vue3。 所以我在 Laravel 框架内使用 vue3 并借助惯性Js
控制器
public function addInfo(Request $request){
$validatedData = $request->validate([
'title' => 'required|string|max:25',
'message' => 'required|string',
'days' => 'required|integer|min:1',
]);
$count= Information::all()->count();
if($count >= 5){
$error = ([
'message'=> 'intonation not allowed more then 5 please delete old one',
'status' => false,
]);
return response()->json($error);
}
$new_info = new Information();
$new_info->title = $request->title;
$new_info->content = $request->message;
$new_info->days = $request->days;
$new_info->links = json_encode($request->links);
$new_info->save();
}
VUE3
const form = useForm({
title: '',
message: '',
days: '',
links:[],
});
form.post(route('info.add'), {
preserveScroll: true,
onSuccess: () =>{
form.reset();
lastInput.forEach(lastInput => {
lastInput.remove();
});
console.log(error);
showAlert('success', 'Info added Successfully');
},
onError: () => {
}
});
我想知道我怎样才能得到
return response()->json($error)
;在 vue onError: ()
或任何其他进程中显示以使用 laravel web 路由显示错误
您是否尝试过在 Laravel 控制器上返回错误?例如:
return redirect()->back()->withErrors($error)
那么你的错误应该在 onError 中收到,如下所示:
onError: (errors) => {
alert(errors.message)
}