为了账号安全,请及时绑定邮箱和手机立即绑定

以 JSON 形式返回验证错误消息 - Laravel 6

以 JSON 形式返回验证错误消息 - Laravel 6

PHP
哔哔one 2022-01-24 10:11:58
我想以 JSON 格式返回失败的验证尝试消息。我以前使用过类似的东西,它在 Laravel 5 上工作,我相信......if ($validator->fails()) {        return response()->json($validator->messages(), 200);}但是,对于我们的新项目,我们使用的是 Laravel 6,上面的内容只是返回一个空白页面。在 Laravel 6 中,以下成功返回错误消息,尽管不是在 JSON 中......if ($validator->fails()) {      $msg = $validator->messages();    dd($msg);}response()Laravel 6中的工作方式必须有所改变。任何想法如何在 Laravel 6 中以 JSON 格式返回验证消息?谢谢。
查看完整描述

2 回答

?
红颜莎娜

TA贡献1842条经验 获得超13个赞

这里,


if($validatedData->fails()){

   return response()->json([

      'status'   => 'error',

      'message'  => $validatedData->getMessageBag()

   ],400);

}

您可以在 JSON 中获取这些错误,这是示例代码


 $.ajax({

    url: "{{ route('your_route_name') }}",

    method: 'post',

    cache: false,

    contentType: false,

    processData: false,

    data: formData,

    success: function(response){

        //....YOUR SUCCESS CODE HERE

    },

    error: function(response){

        // HERE YOU CAN GET ALL THE ERRORS IN JSON

        var data = JSON.parse(response.responseText);

        if(data.message){

            if(data.message.f_name){

                $('input[name=f_name]')

                .parents('.form-group')

                .find('.help-block')

                .html(data.message.f_name)

                .css('display','block');

            }else{

                $('input[name=f_name]')

                .parents('.form-group')

                .find('.help-block')

                .html('')

                .css('display','none');

            }

        }else{

            $('.help-block').html('').css('display','none');

        }

    }

});


查看完整回答
反对 回复 2022-01-24
?
皈依舞

TA贡献1851条经验 获得超3个赞

这应该有效


 $validator = Validator::make($request->all(), [

                'email' => 'required|email',

                'password' => 'required',

            ]);


     if ($validator->fails()) {

                        $messages = $validator->errors()->all();

                        $msg = $messages[0];

                        return response()->json(['success_code' => 401, 'response_code' => 0, 'response_message' => $msg]);

                    }


查看完整回答
反对 回复 2022-01-24
  • 2 回答
  • 0 关注
  • 218 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号