有没有办法将表单请求错误作为json返回?
我正在为AngularJS制作一个API,我遇到了错误标志
的问题这是我的规则:
class CreateProductRequest extends Request
{
public function rules()
{
return [
'code'=>'required|unique:products',
'style'=>'required|max:12',
'measure'=>'required|max:12',
];
}
这是CreateProductRequest
的回复{
code: [0: "Code is required"],
style:[0: "Style is required"],
measure:[ 0: "Measure is required"]
}
我想要与控制器上的$ validator-> errors() - > all()相同的结果,如下所示:
"messages": [
"Code is required",
"Style is required",
"Measure is required"
]
如何从表单请求中获取此结果?
Laravel版本:主人
答案 0 :(得分:0)
试试这个
return $validator->errors()->all()->toJson();
答案 1 :(得分:0)
表单请求错误已作为json返回给AJAX请求。但要实现所需的结构,必须覆盖vendor / laravel / framework / src / Illuminate / Foundation / Http / FormRequest.php中的响应函数
从那里复制函数并将其粘贴到app / Http / Requests / Request.php中的Request类中。更改以下行:
AsyncTask
到此:
object.setId(id);
而不是200,您可以返回您已经使用的任何其他状态代码,可能来自4xx系列。 在此文件的顶部添加:
return new JsonResponse($errors, 422);