laravel参数校验

laravel框架请求的参数进行校验,并且如果不同的参数出错,分别给出不同的准确提示,从而避免笼统的提示参数错误。从而准确快速的知道到底是哪个参数出了问题。不多说直接上代码:

public function index(Request $request){
    dump($request->all()); //laravel 自带的打印函数 可以试试哦!
    $va = \Validator::make($request->all(), [  //获取所有参数
                'id' => 'required|integer|between:1,10',  //校验是否为空|校验是否是数字|校验是否在1-10之间
                'title' => 'required|string|between:1,5'   //校验是否为空|校验是否为字符串|校验长度是否1-5之间
        ],//后边可以不写默认laravel的自带错误提示
        [
        'id.*' => 'id not null', //错误信息提示  可以写成'id.integer' => 'id不是数字' 或者'id.between' => 'id不在范围内'
        'title.*' => 'title ge shi cowu ',
    ]);

    
    $errors = $va->errors()->all(); //这是捕获到的所有参数验证的错误信息
    if(!empty($errors))  $first_errors = $errors[0];     //如果验证不通过
    if(!($validator->passes()))  return $this->setStatusCode(9999)->respondWithError($first_errors); //如果参数错误,这里就会给出不同的错误信息提示
    return $va->errors()->all();//提示所有错误 ["id not null","title ge shi cowu "]
    //return $va->errors()->first();//提示第一个错误

}



喜欢(0)

评论 抢沙发

表情