• yii2 rules 验证规则


    1. yii2  框架定义的约束

      1. public $builtInValidators = [
      2. 'boolean' => 'yiivalidatorsBooleanValidator',
      3. 'captcha' => 'yiicaptchaCaptchaValidator',
      4. 'compare' => 'yiivalidatorsCompareValidator',
      5. 'date' => 'yiivalidatorsDateValidator',
      6. 'default' => 'yiivalidatorsDefaultValueValidator',
      7. 'double' => 'yiivalidatorsNumberValidator',
      8. 'each' => 'yiivalidatorsEachValidator',
      9. 'email' => 'yiivalidatorsEmailValidator',
      10. 'exist' => 'yiivalidatorsExistValidator',
      11. 'file' => 'yiivalidatorsFileValidator',
      12. 'filter' => 'yiivalidatorsFilterValidator',
      13. 'image' => 'yiivalidatorsImageValidator',
      14. 'in' => 'yiivalidatorsRangeValidator',
      15. 'integer' => ['class' => 'yiivalidatorsNumberValidator', 'integerOnly' => true],
      16. 'match' => 'yiivalidatorsRegularExpressionValidator',
      17. 'number' => 'yiivalidatorsNumberValidator',
      18. 'required' => 'yiivalidatorsRequiredValidator',
      19. 'safe' => 'yiivalidatorsSafeValidator',
      20. 'string' => 'yiivalidatorsStringValidator',
      21. 'trim' => ['class' => 'yiivalidatorsFilterValidator', 'filter' => 'trim', 'skipOnArray' => true],
      22. 'unique' => 'yiivalidatorsUniqueValidator', 'url' => 'yiivalidatorsUrlValidator']




      rules常用规则

      //自定义
      1. return $extends= [
      2. [
      3. ['buyer_id','linkman','phone_area','buyer_id','province','city','street','zcode','is_default','type'],
      4. 'required','message'=>'{attribute} 不能为空','on'=>['add','edit']
      5. ],
      6. ['addr_id','required','message'=>'{attribute} 不能为空','on'=>'edit'],
      7. [['province','city','linkman'],'match','pattern'=>'/^[x{4e00}-x{9fa5}]+$/u','message' => '{attribute}只能输入中文字符',],
      8. [['zcode','is_default','type','phone_area','phone','zcode','phone_ext','mobile'],'match','pattern'=>'/^[0-9]+$/','message' => '{attribute} 必须为数字'],
      9. ['street', 'string', 'max' => 30],
      10. ['mobile', 'string', 'max' => 11,'min'=>11,'tooLong'=>'手机号格式为11位的数字'],
      11. [['phone_ext','phone_area'], 'string', 'max' => 4],
      12. [['phone'], 'string', 'max' => 10,'min'],
      13. ['zcode','string','max'=>6,]
      14. ];




      //copy
      复制代码
      return array(
      
          //必须填写array('email, username, password,agree,verifyPassword,verifyCode', 'required'),
      
          //检查用户名是否重复array('email','unique','message'=>'用户名已占用'),
      
          //用户输入最大的字符限制array('email, username', 'length', 'max'=>64),
          
          //限制用户最小长度和最大长度array('username', 'length', 'max'=>7, 'min'=>2, 'tooLong'=>'用户名请输入长度为4-14个字符', 'tooShort'=>'用户名请输入长度为2-7个字'),
      
          //限制密码最小长度和最大长度array('password', 'length', 'max'=>22, 'min'=>6, 'tooLong'=>'密码请输入长度为6-22位字符', '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'),

      复制代码

       

       //copy

      复制代码
        //判断是否包含输入的字符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('filename', 'file', 'allowEmpty'=>true, 'types'=>'zip, rar, xls, 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的文件!'  
              ),  
      复制代码

       


       



    2. public function rules()
    3. {
    4. return array(
    5. //必须填写
    6. array('email, username, password,agree,verifyPassword,verifyCode', 'required'),
    7. //检查用户名是否重复
    8. array('email','unique','message'=>'用户名已占用'),
    9. //用户输入最大的字符限制
    10. array('email, username', 'length', 'max'=>64),
    11. //限制用户最小长度和最大长度
    12. array('username', 'length', 'max'=>7, 'min'=>2, 'tooLong'=>'用户名请输入长度为4-14个字符', 'tooShort'=>'用户名请输入长度为2-7个字'),
    13. //限制密码最小长度和最大长度
    14. array('password', 'length', 'max'=>22, 'min'=>6, 'tooLong'=>'密码请输入长度为6-22位字符', 'tooShort'=>'密码请输入长度为6-22位字符'),
    15. //判断用户输入的是否是邮件
    16. array('email','email','message'=>'邮箱格式错误'),
    17. //检查用户输入的密码是否是一样的
    18. array('verifyPassword', 'compare', 'compareAttribute'=>'password', 'message'=>'请再输入确认密码'),
    19. //检查用户是否同意协议条款
    20. array('agree', 'required', 'requiredValue'=>true,'message'=>'请确认是否同意隐私权协议条款'),
    21. //判断是否是日期格式
    22. array('created', 'date', 'format'=>'yyyy/MM/dd/ HH:mm:ss'),
    23. //判断是否包含输入的字符
    24. array('superuser', 'in', 'range' => array(0, 1)),
    25. //正则验证器:
    26. array('name','match','pattern'=>'/^[a-z0-9-_]+$/'),
    27. //数字验证器:
    28. array('id', 'numerical', 'min'=>1, 'max'=>10, 'integerOnly'=>true),
    29. //类型验证 integer,float,string,array,date,time,datetime
    30. array('created', 'type', 'datetime'),
    31. //文件验证:
    32. array('filename', 'file', 'allowEmpty'=>true, 'types'=>'zip, rar, xls, pdf, ppt','tooLarge'=>'图片不要超过800K'),
    33. array('url',
    34. 'file', //定义为file类型
    35. 'allowEmpty'=>true,
    36. 'types'=>'jpg,png,gif,doc,docx,pdf,xls,xlsx,zip,rar,ppt,pptx', //上传文件的类型
    37. 'maxSize'=>1024*1024*10, //上传大小限制,注意不是php.ini中的上传文件大小
    38. 'tooLarge'=>'文件大于10M,上传失败!请上传小于10M的文件!'
    39. ),
    40. } );






  • 相关阅读:
    开课博客
    高级UI组件(二)
    《梦断代码》读后感(三)
    高级UI组件
    今日总结
    今日总结
    android中关于时间的控件
    单选按钮和复选框
    Android开发中按钮的语法
    布局管理器的嵌套
  • 原文地址:https://www.cnblogs.com/sheapchen/p/da39c93501f74d1b04e2181cb0e71706.html
Copyright © 2020-2023  润新知