zoukankan      html  css  js  c++  java
  • laravel 表单验证

    以下为我创建的一个 API Validator 的 VIM Code Snippet

    $rsp = ['err_code' => 0, 'err_msg' => 'OK',];
    $input = $request->all();
    
    $rules = [
    	'name' => 'required',
    	'person_tel' =>'required|regex:/^1[0-9]{10}$/',
    	'code' => 'required|digits:6',
    ];
    
    $messages = [
    	'name' => '请填写公司名称',
    	'person_tel' => '请填写正确的手机号',
    	'code' => '请填写正确的验证码',
    ];
    
    $validator = Validator::make($input, $rules, $messages);
    $validator->after(function ($validator) use ($request) {
    	$redis_code = Redis::get(env('APP_NAME').'sms'.$request->get('person_tel'));
    	if ($redis_code != $request->get('code')) {
    		$validator->errors()->add('code', '验证码错误');
    	}
    });
    
    if ($validator->fails()) {
    	$rsp['err_code'] = -1;
    	$rsp['err_msg'] = "数据校验失败";
    	$rsp['data'] = $validator->errors()->all();
    	return response()->json($rsp);
    }
    

    为何要使用 validator after

    after 的调用时机是在主动调用 fails 的时候,这样做非常方便去添加一些我们业务相关的自定义校验规则

  • 相关阅读:
    Java 条件语句
    Java循环
    Java 变量
    Java 数据类型
    nginx+php发布网站
    安装MySQL5.7
    docker-compose参数
    部署
    dockerfile编写
    在VMware中安装CentOS7
  • 原文地址:https://www.cnblogs.com/sgm4231/p/10193809.html
Copyright © 2011-2022 走看看