public function rules()
{
return [
//必须填写
['email, username, password,agree,verifyPassword,verifyCode', 'required'],
//使用safe可以声明该attribute是安全的,任意值都可以通过验证。对应的还有一个unsafe,该attribute的任意值都认为是不安全的。
['attribute','safe'],
//检查用户名是否重复
['email', 'unique', 'message' => '用户名已占用'],
//用户输入最大的字符限制
['email, username', 'length', 'max' => 64],
//限制用户最小长度和最大长度
['username', 'length', 'max' => 7, 'min' => 2, 'tooLong' => '用户名请输入长度为4-14个字符', 'tooShort' => '用户名请输入长度为2-7个字'],
//限制密码最小长度和最大长度
['password', 'length', 'max' => 22, 'min' => 6, 'tooLong' => '密码请输入长度为6-22位字符', 'tooShort' => '密码请输入长度为6-22位字符'],
//判断用户输入的是否是邮件
['email', 'email', 'message' => '邮箱格式错误'],
//检查用户输入的密码是否是一样的
['verifyPassword', 'compare', 'compareAttribute' => 'password', 'message' => '请再输入确认密码'],
//检查用户是否同意协议条款
['agree', 'required', 'requiredValue' => true, 'message' => '请确认是否同意隐私权协议条款'],
//判断是否是日期格式
['created', 'date', 'format' => 'yyyy/MM/dd/ HH:mm:ss'],
//判断是否包含输入的字符
['superuser', 'in', 'range' => array(0, 1)],
//正则验证器:
['name', 'match', 'pattern' => '/^[a-z0-9\-_]+$/'],
//数字验证器:
['id', 'numerical', 'min' => 1, 'max' => 10, 'integerOnly' => true],
//类型验证 integer,float,string,array,date,time,datetime
['created', 'type', 'datetime'],
//文件验证:
['filename', 'file', 'allowEmpty' => true, 'types' => 'zip, rar, xls, pdf, ppt', 'tooLarge' => '图片不要超过800K'],
['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的文件!'
],
];
}

最新文章

  1. JAVA编程思想(第四版)学习笔记----11.4 容器的打印
  2. QT特供 CGAL配置流程(基于QT5+VS2015)
  3. curl操作CouchDB
  4. delphi IOS 获取电池信息
  5. Think in Java(Java编程思想)-第2章 一切都是对象
  6. Android CountDownTimer倒计时器的使用
  7. 20145235 《Java程序设计》实验二
  8. 用javascript 面向对象制作坦克大战(三)
  9. 【HDOJ】4418 Time travel
  10. Android 系统日期时间的获取
  11. C#子线程更新UI控件的方法总结
  12. CentOS 6.7下iPython提示“WARNING: Readline services not available or not loaded.”的解决办法
  13. java形参是否会改变实参
  14. idea中output log4j中文乱码
  15. vue监听scroll使用报错的解决办法
  16. 分享:五个非常有用的WP插件
  17. Tab 菜单切换
  18. 【vijos1780】【NOIP2012】开车旅行 倍增
  19. Kademlia、DHT、KRPC、BitTorrent 协议、DHT Sniffer
  20. this上下文一致

热门文章

  1. Struts2框架04 struts和spring整合
  2. 使用jar打war包或解压war包
  3. cakephp数据库配置
  4. redhat图形界面启动后出现桌面但是没有登录界面解决办法
  5. Bootstrap 的 Collapse
  6. 多线程学习-基础(一)Thread和Runnable实现多线程
  7. iOS应用推荐
  8. PreparedStatement预编译对象实现
  9. Java50道经典习题-程序44 偶数的素数和
  10. 阿里云ECS centos7.2 支持IPv6