laravel5.8 ajax提交表单与验证器处理

根据laravel5.8文档中验证器的介绍https://learnku.com/docs/laravel/5.8/validation/3899#custom-error-messages,用ajax提交表单时,使用验证器,文档中的介绍是:

其中文档中的给的例子是:

/**
 * 保存一篇新的博客文章。
 *
 * @param  Request  $request
 * @return Response
 */
public function store(Request $request)
{
    $validatedData = $request->validate([
        'title' => 'required|unique:posts|max:255',
        'body' => 'required',
    ]);

    // 博客文章验证通过
}

但实际中我直接用$request->validate时,报错,内容是找不到validate 这个方法。于是采用 Validator::make()方法验证,但并没有返回json数据,在此po一下解决方法:

public function profile(Request $request){
        if($request->isMethod('post')){
            //接收json串
            $data =  $request->getContent();
            //转化为数组
            $data =  json_decode($data,true);
            //……

            //数据校验
            $validator = Validator::make($data, [
            //需要校验的字段   
            ]
            ],$this->profile_messages()//校验信息方法);
            //如果校验过程中有错误
            if ($validator->fails()) {
                //返回json数据
                return response()->json(['code'=>"201","msg"=>$validator->errors()->first()]);
            }
            //其他操作
         }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值