验证规则

  1. yii2  框架定义的约束
    1. public $builtInValidators = [
    2. 'boolean' => 'yii\validators\BooleanValidator',
    3. 'captcha' => 'yii\captcha\CaptchaValidator',
    4. 'compare' => 'yii\validators\CompareValidator',
    5. 'date' => 'yii\validators\DateValidator',
    6. 'default' => 'yii\validators\DefaultValueValidator',
    7. 'double' => 'yii\validators\NumberValidator',
    8. 'each' => 'yii\validators\EachValidator',
    9. 'email' => 'yii\validators\EmailValidator',
    10. 'exist' => 'yii\validators\ExistValidator',
    11. 'file' => 'yii\validators\FileValidator',
    12. 'filter' => 'yii\validators\FilterValidator',
    13. 'image' => 'yii\validators\ImageValidator',
    14. 'in' => 'yii\validators\RangeValidator',
    15. 'integer' => ['class' => 'yii\validators\NumberValidator', 'integerOnly' => true],
    16. 'match' => 'yii\validators\RegularExpressionValidator',
    17. 'number' => 'yii\validators\NumberValidator',
    18. 'required' => 'yii\validators\RequiredValidator',
    19. 'safe' => 'yii\validators\SafeValidator',
    20. 'string' => 'yii\validators\StringValidator',
    21. 'trim' => ['class' => 'yii\validators\FilterValidator', 'filter' => 'trim', 'skipOnArray' => true],
    22. 'unique' => 'yii\validators\UniqueValidator', 'url' => 'yii\validators\UrlValidator'] rules常用规则 //自定义
    23. return $extends= [
    24. [
    25. ['buyer_id','linkman','phone_area','buyer_id','province','city','street','zcode','is_default','type'],
    26. 'required','message'=>'{attribute} 不能为空','on'=>['add','edit']
    27. ],
    28. ['addr_id','required','message'=>'{attribute} 不能为空','on'=>'edit'],
    29. [['province','city','linkman'],'match','pattern'=>'/^[\x{4e00}-\x{9fa5}]+$/u','message' => '{attribute}只能输入中文字符',],
    30. [['zcode','is_default','type','phone_area','phone','zcode','phone_ext','mobile'],'match','pattern'=>'/^[0-9]+$/','message' => '{attribute} 必须为数字'],
    31. ['street', 'string', 'max' => 30],
    32. ['mobile', 'string', 'max' => 11,'min'=>11,'tooLong'=>'手机号格式为11位的数字'],
    33. [['phone_ext','phone_area'], 'string', 'max' => 4],
    34. [['phone'], 'string', 'max' => 10,'min'],
    35. ['zcode','string','max'=>6,]
    36. ]; //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'),
  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. } );

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • php将二维数组按日期(支持Ymd和Ynj格式日期)排序 转

    // 原始数组 $array = [         [             'date'=>'2019-2-18',         ],   ...

    双面人
  • php将多个值的数组去除重复元素 转

    (adsbygoogle = window.adsbygoogle || []).push({});

    双面人
  • vue3中如果有域名的话,vue.config.js如下设置就ok了

    module.exports = {     devServer: {         disableHostCheck: true,         a...

    双面人
  • 3分钟短文 | PHP 根据值移除数组元素,哪个方法最简单?

    PHP 数组操作,之前我们讲了如何根据值,进行多维数组的排序。今天说一说,如何根据值,进行数组元素的删除。

    程序员小助手
  • iOS电商类APP的研发

    前言 本文是研发一个在线超市的电商类APP过程中,对架构的整理。 ? 功能: 1、浏览商品、购买商品、切换商店; 2、查看订单、订单投诉、意见反馈; 3、...

    落影
  • ASP.NET MVC 3中ViewBa

    ViewBag, ViewData十分类似,都可用于把数据从controller传递到view。

    py3study
  • Tensorflow的CNNs模型实战:根据短文本对企业分类

    2017年4月17号AI100发布了为期一个月的文本分类练习赛 http://competition.ai100.com.cn/html/game_det.h...

    机器学习AI算法工程
  • Vue.js 中的无渲染行为插槽[每日前端夜话0xF7]

    翻译:疯狂的技术宅 作者:David Desmaisons 来源:alligator

    疯狂的技术宅
  • 数据科学与机器学习管道中预处理的重要性(一):中心化、缩放和K近邻

    用户1737318
  • KDD 2020 | 多任务保量优化算法在优酷视频场景的实践

    导读:今天分享一下阿里优酷视频在KDD 2020上的一篇关于新热视频保量分发上的实践,建立了新热内容曝光敏感模型并给出了一种多目标优化保量的算法,推荐工业界实战...

    石晓文

扫码关注云+社区

领取腾讯云代金券