laravel 请求参数智能校验

这里主要是实现,laravel框架请求的参数进行校验,并且如果不同的参数出错,分别给出不同的准确提示,从而避免笼统的提示参数错误。从而准确快速的知道到底是哪个参数出了问题。示例代码如下:

/**
  * @param PostLoginWithMobileRequest $request
  * @return \Illuminate\Http\JsonResponse
  * 登陆
  *  postLoginByMobile(PostLoginWithMobileRequest $request)
  */
  public function postLoginByMobile(Request $request)
  {

   //校验规则
    $rules = [
         'un' => 'required|regex:/^1[34578][0-9]{9}$/',
         'pin' => 'required|string',
         'mid' => 'required|string',
         'push_service_type' => 'required|integer',
         'ct' => 'required|integer'
     ];
     //错误提示信息
     $message = [
         'un.required' => '用户名不能为空',
         'pin.required' => '验证码不能为空',
         'un.regex'=>'用户名格式不对',
     ];
     $validator = \Validator::make($request->all(),$rules,$message);  //第一个参数是提交的数据,第二个是校对规则,第三个是错误信息
     $errors = $validator->errors()->all(); //这是捕获到的所有参数验证的错误信息
     if(!empty($errors))  $first_errors = $errors[0];

     //如果验证不通过
     if(!($validator->passes()))  return $this->setStatusCode(9999)->respondWithError($first_errors); //如果参数错误,这里就会给出不同的错误信息提示


   //接下去就可以进行业务逻辑实现了
}

你可能感兴趣的:(PHP-->代码片段整理,PHP-->laravel框架)