您当前的位置: 首页 > 

苗先生的PHP记录

暂无认证

  • 0浏览

    0关注

    190博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Tp validate 验证器

苗先生的PHP记录 发布时间:2020-10-12 10:59:51 ,浏览量:0

Tp5验证器 首先创建文件夹,里面的文件名和表名对应 在这里插入图片描述 在这里插入图片描述

验证器代码

详情请看手册 验证 部分

rule 验证规则 message 验证失败的信息 scene 验证场景,即某个方法只能用某个规则验证,其余不验证

常用的验证: 更多请查看内置规则 https://www.kancloud.cn/manual/thinkphp5/129356 require 为空验证 unique 唯一性验证,unique:表名(小写) max 长度验证 email 邮箱格式验证 url url格式验证

protected $rule = [
        'title' => 'unique:link|require|max:25'
        ,'desc' => 'require'
        ,'url'  => 'url|require|unique:link|max:60'
    ];

    protected $message = [
        'title.require' => '链接标题必须填写'
        ,'title.max'    => '链接标题的长度不能超过25个字符'
        ,'title.unique'    => '链接标题不能重复'
        ,'desc.require' => '链接描述必须填写'
        ,'url.require' => '链接地址必须填写'
        ,'url.url' => '链接地址格式不正确'
        ,'url.unique'    => '链接地址不能重复'
        ,'url.max'    => '链接地址的长度不能超过60个字符'
    ];
    
    // 控制器如果没指定场景的话,不生效
    protected $scene = [
    	//add 使用title 、url 、desc的所有规则
        'add'  =>  ['title','url','desc'],
        //edit使用title的不为空、长度的规则  和url、desc的所有规则
		'edit'  =>  ['title'=>'require|max:25','url','desc'], //可以指定某种规则中的哪个规则, | 分隔
    ];

**

控制器的引用

** 没有场景时没有场景所有规则都验证

$validate = Loader::validate('Link');  //实例化验证器  也可用助手函数   $validate = validate('Link');
if(!$validate->check($data)){
     $this->error($validate->getError());
 }

需要引入场景时验证指定规则

$validate = Loader::validate('Link');  //实例化验证器  也可用助手函数   $validate = validate('Link');
if(!$validate->scene('add')->check($data)){
     $this->error($validate->getError());
 }
关注
打赏
1665468453
查看更多评论
立即登录/注册

微信扫码登录

0.0348s