1.内置验证器的短名称分别有:

  booleanyii\validators\BooleanValidator

  captchayii\captcha\CaptchaValidator

  compareyii\validators\CompareValidator

  dateyii\validators\DateValidator

  defaultyii\validators\DefaultValueValidator

  doubleyii\validators\NumberValidator

  eachyii\validators\EachValidator

  emailyii\validators\EmailValidator

  existyii\validators\ExistValidator

  fileyii\validators\FileValidator

  filteryii\validators\FilterValidator

  imageyii\validators\ImageValidator

  inyii\validators\RangeValidator

  integeryii\validators\NumberValidator

  matchyii\validators\RegularExpressionValidator

  requiredyii\validators\RequiredValidator

  safeyii\validators\SafeValidator

  stringyii\validators\StringValidator

  trimyii\validators\FilterValidator

  uniqueyii\validators\UniqueValidator

  urlyii\validators\UrlValidator

  ipyii\validators\IpValidator

2. 下面举个例子   

 public function rules() {
return [
[['name', 'password', 'email'], 'required'],
['name', 'unique', 'message'=>'{attribute}已经被占用'],
['name', 'string', 'min'=>3, 'max'=>16, 'message'=>'{attribute}的长度必须在3~16之间'],
['email', 'email', 'message'=>'请输入正确的{attribute}'],
['password', 'string', 'min'=>8, 'max'=>16, 'message'=>'{attribute}的长度必须在8~16之间'],
];
}

最后验证这些规则只需要用model调用validate()方法即可,例子如下:


 //将user对象保存到mongo数据库中
public function saveUser($name, $password, $email) {
$user = new User();
$user->name = $name;
$user->password = $password;
$user->email = $email;
//在这里用$user调用yii\validators\Validatotr::validate()进行验证所有的属性
if ($user->validate()) {
$user->insert();
} else {
return $user->errors;
}
}

 

  

yii框架中验证器声明一组内置验证器可以使用短名称引用的更多相关文章

  1. python进阶04 装饰器、描述器、常用内置装饰器

    python进阶04 装饰器.描述器.常用内置装饰器 一.装饰器 作用:能够给现有的函数增加功能 如何给一个现有的函数增加执行计数的功能 首先用类来添加新功能 def fun(): #首先我们定义一个 ...

  2. Struts2内置校验器——完整实例代码

    一.校验器的配置风格 1.字段校验器: <field name="被校验的字段"> <field-validator type="校验器名"& ...

  3. Unity3D内置着色器

    Unity内部提供了一些可以直接使用的着色器,这些内置着色器包括以下6个方面: (1)Performance of Unity shaders 着色器的性能和两个方面有关:shader本身和rende ...

  4. 使用Yii框架中遇到的三个问题

    以下由我们在信易网络公司开发项目的时候终结出的一些经验 使用Yii框架中遇到的三个问题 1.main.php文件中欲引入全局变量的问题 还原一下此问题:在Yii框架中,main.php一般会作为整个应 ...

  5. Flex 内置验证器—验证用户输入

    今晚对于Flex中的Validator类(所有验证器的父类)测试一下 ---->其中常用的验证类有StringValidator,NumberValidator,DateValidator 测试 ...

  6. Yii 框架中安装 memcache 及配置和测试

    安装php_memcache.dll扩展 1.首先将php_memcache.dll文件放入E:\server\php\ext目录下 (php_memcache.dll下载地址:http://wind ...

  7. Yii框架中集成phprpc、hprose

    在项目开发的过程中有时候会涉及到对外提供接口供第三方程序调用或者是不同程序间需要相互通信,那么最通用的做法是用传统的SOAP方式来实现,用XML的文档格式来作为传输载体.但是这种方式不灵活,支持的数据 ...

  8. yii框架中关于控制器中filter过滤器和外部action的使用

    在yii框架中,控制器的过滤器分为执行前和执行后,这里举例是在执行控制器前的过滤. 需要在components/文件夹下定义公共的TestAction.php文件,并且实现run()方法.这个acti ...

  9. Yii框架中使用SRBAC作为权限管理模块时遇到的问题

    Yii框架中使用SRBAC作为权限管理模块时遇到的问题   看到Yii中提供RBAC的插件,SRBAC,就想用用. 结果按照手册上的安装办法,整来整去,安装完了,可就是进不了权限管理界面. 最后想到, ...

随机推荐

  1. IoC 与 AOP (谈谈你对 Spring 的理解)

    一.Spring 实现了工厂模式的工厂类,这个类名为BeanFactory(实际上是一个接口),在程序中通常 BeanFactory 的子类 ApplicationContext. Spring相当于 ...

  2. sql server pivot/unpivot 行列互转

    有时候会碰到行转列的需求(也就是将列的值作为列名称),通常我都是用 CASE END + 聚合函数来实现的. 如下: declare @t table (StudentName nvarchar(20 ...

  3. Asp.Net MVC<九>:OWIN,关于StartUp.cs

    https://msdn.microsoft.com/zh-cn/magazine/dn451439.aspx(Katana 项目入门) 一不小心写了个WEB服务器 快刀斩乱麻之 Katana OWI ...

  4. 解决:Win 10安装软件时提示:文件系统错误 (-1073740940)

    1.win+R输入 gpedit.msc 2.左边计算机配置 windows设置——安全设置——本地策略——安全选项 3.在安全选项右边选择 用户账户控制:管理员批准模式中管理员的提升权限提示的行为, ...

  5. “is null”与“=”的使用

    普通的值可以进行"="操作,例如条件中一般都会这样出现:sUserName='张三',如果sUserName的值为null,要想找出所 有名字为null的记录时,不能这样用:sUs ...

  6. js-JavaScript高级程序设计学习笔记20

    第二十三章 离线应用与客户端存储 1.离线检测 HTML5定义navigator.onLine属性.还定义了两个事件,online和offline,当网络从离线变为在线或从在线变为离线时在window ...

  7. RabbitMQ 实现RPC

    实现RPC 首先要弄明白,RPC是个什么东西. (RPC) Remote Procedure Call Protocol 远程过程调用协议 在一个大型的公司,系统由大大小小的服务构成,不同的团队维护不 ...

  8. Windows10环境配置nat123端口映射访问mysql

    背景:因工作需要,在宽带路由器内部设置一个台式机(可上网),配置成数据库服务器.分散各处的多台外网机可以通过jdbc连接该数据库服务器进行开发.要进行端口映射. 环境: 宽带通 Windows10企业 ...

  9. asp.net 的页面几种传值方式

    http://www.cnblogs.com/makqiq/p/5882448.html 1.Querystring Querystring也叫查询字符串,这种页面间传递数据是利用网页地址URL.如果 ...

  10. Javascript实现前端简单路由

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http ...