【发布时间】:2019-05-13 20:25:01
【问题描述】:
我正在尝试使用 vue 和 laravel 创建用户身份验证,在单击注册按钮后,我将表单数据发送到我以这种方式编码的创建用户控制器
public function store(Request $request)
{
//
$validator = Validator::make($request->all(), [
'firstname' => 'required',
'lastname' => 'required',
'email' => 'required|email|unique:users',
'password' => 'required|min:8',
'phoneno' => 'required'
]);
if ($validator->fails()){
return response($validator->getMessageBag()->jsonSerialize(), Response::HTTP_UNPROCESSABLE_ENTITY);
}
$firstname = $request->firstname;
$lastname = $request->lastname;
$email = $request->email;
$password = $request->password;
$phoneno = $request->phoneno;
return response($request, Response::HTTP_OK);
}
从我的前端,我正在使用 axios 发出 ajax 请求,我将表单数据发送为:
let formdata = this.user;
axios.post('/api/user', {
data: formdata
}).then((data) => {
console.log(data);
})
.catch((error) => {
console.log(error);
});
但是在出现错误的情况下,我没有得到我从
$validator->fails()检查我只能看到:
有没有办法获取我传递的 json 错误?
【问题讨论】:
-
您确定您符合验证要求吗?您是否尝试过查看请求中可能包含的内容?
dd($request->all()); -
肯定,表单数据到达控制器,我关心的不是数据到达控制器,而是将错误作为 json 返回到视图...如果我让数据全部通过验证检查,我不会遇到任何问题
-
@AhmedNourJamalEl-Din 数据被发送到控制器,我只是希望能够在验证失败时得到消息包中的错误
-
你是否在标题中输入了“Accept : application/json”?
-
@rezabaghiee 答案解决了这个问题..