yii2.0总结笔记3:模型数据验证规则

在数据模型中,根据需要加入以下代码,即可:

public function rules(){

    return [

        ['字段名','required','message'=>'提示信息','on'=>'场景名'],         //必填验证

        ['字段名','email','message'=>'提示信息','on'=>'场景名'],             //邮箱格式验证

        ['字段名','url','message'=>'提示信息','on'=>'场景名'],                 //网址格式验证

        ['字段名','match','pattern'=>'正则表达式'],                                   //网址格式验证

        ['字段名','captcha'],                                                                       //验证码验证

        ['字段名','safe'],                                                                              //安全不许验证

        ['repassword','compare','compareAttribue'=>'password'],         //跟某个属性相等

        ['字段名','string','length'=>[6,18]],                   //字符串长度验证,必须在6至18长度以内的

        ['字段名','unique'],                                            //值在本字段中的唯一性验证

        ['字段名','integer','max'=>'上限','min'=>'下线'],//整数验证

        ['字段名','number','max'=>'上限','min'=>'下线'],//数字验证

        ['字段名','double'],                                              //双精度浮点数验证

         ['字段名','in','range'=>[1,2,3]],                           //范围验证,必须在1,2,3以内的

         ['字段名','double'],                                            //双精度浮点数验证

         ['字段名','filter','filter'=>'trim'],                          //过滤,删除字段两边的空格

         ['字段名','exist','targetClass'=>'模型名'],             //字段名必须在模型名中存在

      ['字段名','file','extension'=>'jpg,png','maxSize'=>1024*1024*1024],  //允许上传以jpg,png为后缀,文件最大1024*1024*1024  Byte的文件

         ['字段名','myselfFun'],                                            //自定义函数验证

    ]

}

public function myselfFun($data){

        if(!$this->hasErrors){     

             if(self::find()->where(['username' =>$data])->one()){

                    return true;

            }  

        }else{

            $this->addError('账户不存在');

            return  false;

        }

}


//验证数据,并添加到数据库

public function add($data){

    //给模型载入数据,并进行验证

    if($this->load($data) && $this->validate()){

            $this->save(false);//save方法传入false,表示不再验证数据,避免重复验证

            return true;

    }else{

            return false;

    }

}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值