博客列表 >tp5.1验证器规则重置

tp5.1验证器规则重置

有什么是忘不了的的博客
有什么是忘不了的的博客原创
2019年12月20日 18:59:211470浏览

用户在上传信息的时候,需要做数据验证,tp5.1给我们提供的验证器类。

那么我们如何用一套验证规则,来对不同页面,提交的数据做不同的验证调整呢?

方法:验证器类(我们要使用`验证场景`)

通过验证场景我们可以指定那个场景下使用哪几种字段验证。

protected $rule = [
        'username|用户名'=>['require'],
        'pwd|密码'=>['require','alphaDash'],
        'email|邮箱'=>['email']
]
protected $scene = [        
    'Login' =>['username','pwd'],
    'Register'=>['username','pwd','email']
    ];


那我们如何指定某一个字段要用哪几个验证规则呢?这里如“pwd”字段

通过tp验证器类中的only()和remove()方法。remove()方法是用来移除某个字段的某个具体验证规则。

//重新定义一个场景方法,定义规则场景scene关键字加上场景名为方法名
public function sceneLogin(){        
        return $this->only(['username','pwd','email'])->remove('pwd','alphaDash');    
}

要想让我们定义的场景生效还需要在控制器中调用一下场景如下:

scene()来指定使用场景。

 $data = $request->post();
 $validate = new UserVali;
 if (!$validate->scene('Login')->check($data)) { 
            return ['cord'=>0,'msg'=>$validate->getError()];        
  }

这样我们在调用check()方法的时候就会使用我们专门定制的验证规则啦。



声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议