Yii2.0 rules验证规则


public function rules()
{
    return array(
    //对username的值两边去空格处理
        array('username','filter','filter'=>'trim'),
    //必须填写  on表示在某个场景下使用
        array(['email','username'],'required','on'=>['register','login']),
    //检查用户名是否重复
        array('email','unique','message'=>'用户名已占用'),
    //用户输入最大的字符限制
        array('email, username', 'length', 'max'=>64),
    //限制用户最小长度和最大长度
        array('username', 'string', 'max'=>7, 'tooLong'=>'用户名请输入长度为4-14个字符'),
    //限制密码最小长度和最大长度
        array('password', 'string', 'min'=>6, 'tooShort'=>'密码请输入长度为6-22位字符'),
    //判断用户输入的是否是邮件
        array('email','email','message'=>'邮箱格式错误'),
    //检查用户输入的密码是否是一样的
        array('verifyPassword','compare','compareAttribute'=>'password','message'=>'请再输入确认密码'),
    //检查用户是否同意协议条款
        array('agree', 'required', 'requiredValue'=>true,'message'=>'请确认是否同意隐私权协议条款'),
    //判断是否是日期格式
        array('created', 'date', 'format'=>'yyyy/MM/dd/ HH:mm:ss'),
    //判断是否包含输入的字符
        array('superuser', 'in', 'range' => array(0, 1)),
    //正则验证器:       
        array('name','match','pattern'=>'/^[a-z0-9\-_]+$/'),
    //数字验证器:              
        array('id', 'numerical', 'min'=>1, 'max'=>10, 'integerOnly'=>true),
    //类型验证 integer,float,string,array,date,time,datetime                
        array('created', 'type', 'datetime'),
    //验证某个值是否在其它表中唯一                
       array('username', 'unique','targetClass' => '\app\models\User','message' => '该号码已被注册过','on'=>['add']),
    //文件验证:       
        array('filename','file','allowEmpty'=>true,'types'=>'pdf, ppt','tooLarge'=>'图片不要超过800K'),
        array('url', 
           'file',    //定义为file类型 
           'allowEmpty'=>true,  
           'types'=>'jpg,png,gif,doc,docx,pdf,xls,xlsx,zip,rar,ppt,pptx',   //上传文件的类型 
           'maxSize'=>1024*1024*10,    //上传大小限制,注意不是php.ini中的上传文件大小 
           'tooLarge'=>'文件大于10M,上传失败!请上传小于10M的文件!' 
        ), 
 } );
转载地址:http://www.cnblogs.com/freespider/p/4169926.html

posted @ 2017-06-20 17:34  tengjian  阅读(260)  评论(0编辑  收藏  举报