jquery 在Laravel中验证时,如果图像大小超过422(无法处理的内容)

toiithl6  于 12个月前  发布在  jQuery
关注(0)|答案(2)|浏览(107)

我如何才能完全消除这个422(不可处理的内容)错误,显示在控制台?它只发生在验证失败时,例如,上传的图像超过了我在验证中要求的文件大小。
这是我的验证码

$request->validate([
            'message' => 'required|max:5000',
            'id' => 'required|integer|exists:users,id',
            'content' => 'nullable|integer|exists:contents,id',
            'photo' => 'nullable|image|mimes:jpeg,png,jpg|max:2048'
        ], [
            'message.required' => ERR_COMMENT_REQUIRED,
            'message.max' => ERR_PHOTO_MAX,
            'id.required' => ERR_ID_REQUIRED,
            'id.integer' => ERR_ID_INTEGER,
            'id.exists' => ERR_ID_EXIST,
            'photo.image' => ERR_PHOTO_IMAGE,
            'photo.mimes' => ERR_PHOTO_JPG_PNG_GIF,
            'photo.max' => ERR_PHOTO_MAX
        ]);

在我的apache代码中,我已经创建了一个错误处理程序来捕获422错误并通知用户发生了什么。目前为止一切正常我只是不知道如何完全删除控制台窗口中的422(不可处理的内容)错误,或者是什么原因导致的?我整晚都在挠头,哈哈。希望有人能帮我解决这个问题。谢谢.

lokaqttq

lokaqttq1#

这是不可能的。因为它来自浏览器。但是,您可以在错误块中清除控制台。但不建议

mjqavswn

mjqavswn2#

Laravel验证器在验证失败时返回422状态码。您可以创建如下验证函数来返回自定义状态代码。

$validator = Validator::make($request->all(), [
        'first_name' => 'required',
        'last_name' => 'required',
        'email' => 'required',
        'message' => 'required',
    ]);

    if($validator->fails()){
        $errors = collect($validator->errors());
        $error = $errors->unique()->first();
        return return Response::json([
           'success' => false,
           'message' => $error[0]
        ], 200); //custom status code
  }

相关问题