Php 表单请求验证返回空错误消息–;拉威尔5.3
我在Laravel中验证期间遇到错误消息问题。我已收到我的自定义请求:Php 表单请求验证返回空错误消息–;拉威尔5.3,php,laravel,laravel-5,laravel-5.3,Php,Laravel,Laravel 5,Laravel 5.3,我在Laravel中验证期间遇到错误消息问题。我已收到我的自定义请求: class CreateCv extends Request { public function authorize() { return true; } public function rules() { return [ 'name' => 'required', 'surname' =>
class CreateCv extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'name' => 'required',
'surname' => 'required',
];
}
public function messages()
{
return [
'name.required' => 'Fill the name!',
'surname.required' => 'Fill the surname!',
];
}
}
然后我得到了一个带有create方法的控制器:
class CvController extends Controller
{
public function create(Requests\CreateCv $request) {
return response()->json(['ok' => true], 200);
}
}
如果所有内容都已填充,那么它将正确返回json响应“ok”:true
。但当缺少某个内容时,它会返回空的msg:“msg”:“
”。是什么导致了这个问题
编辑
这是handler.php文件
class Handler extends ExceptionHandler
{
protected $dontReport = [
AuthorizationException::class,
HttpException::class,
ModelNotFoundException::class,
//ValidationException::class,
];
public function report(Exception $e)
{
parent::report($e);
}
public function render($request, Exception $e)
{
return $e;
//return response()->json(['msg' => $e->getMessage()], 422);
//return parent::render($request, $e);
}
}
- 您可以尝试在CreateCv类中扩展Illumb\Foundation\Http\FormRequest吗
- 我最近在为web应用程序创建API时遇到了这种情况,每次在没有Accept application/json头的情况下测试验证字段时,errors对象(我自定义了ValidationException以返回一个errors对象)总是空的
Request
是一个抽象类,它扩展了FormRequest
是否使用postman进行测试?尝试添加头Accept:application/json我曾尝试在postman中添加Accept:application/json头,但也没有成功:(您使用的是哪个开发环境和哪个服务器?如果取消注释默认的return parent::render($request,$e);
并放入Accept:application/json头,然后它将返回一个包含错误消息的对象。