-Yii2 验证器 -不为人知的秘密
-Yii2 验证器 -不为人知的秘密
-Yii2 验证器 -不为人知的秘密
required : 必须值验证属性
1 2
| [['字段名'],required,'requiredValue'=>'必填值','message'=>'提示信息'];
|
指定场景
1
| [['title', 'content'], 'required', 'on' => ['create', 'update']],
|
email : 邮箱验证
match : 正则验证
1 2 3 4
| [['字段名'],match,'pattern'=>'正则表达式','message'=>'提示信息']; [['字段名'],'match','pattern'=>'/^[1-9]d*|0$/','message'=>'必须为正整数']; [['字段名'],match,'not'=>ture,'pattern'=>'正则表达式','message'=>'提示信息'];
|
safe : 安全
1
| ['description', 'safe'];
|
compare : 比较
1 2 3
| ['age', 'compare', 'compareValue' => 30, 'operator' => '>='];
|
default : 默认值
1 2
| ['age', 'default', 'value' => null];
|
file : 文件
1 2
| ['primaryImage', 'file', 'extensions' => ['png', 'jpg', 'gif'], 'maxSize' => 1024*1024*1024];
|
filter : 滤镜
1 2
| [['username', 'email'], 'filter', 'filter' => 'trim', 'skipOnArray' => true];
|
in : 范围
1 2
| ['level', 'in', 'range' => [1, 2, 3]];
|
unique : 唯一性
integer : 整数
number : 数字
double : 双精度浮点型
date : 日期
1
| [['from', 'to'], 'date'];
|
string : 字符串
1
| ['username', 'string', 'length' => [4, 24]];
|
boolean : 是否为一个布尔值
1 2
| ['字段名', 'boolean', 'trueValue' => true, 'falseValue' => false, 'strict' => true];
|
when条件:
1
| ['name2', 'required', 'when' => function ($model) { return empty($model->name1);}],
|
行内验证器–
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| ['password', 'foo'] public function foo(){ $this->addError('password', '调用这个方法了.'); }
---------------- ['password', 'validatePassword'],
public function validatePassword() { $user = User::findByUsername($this->username);
if (!$user || !$user->validatePassword($this->password)) { $this->addError('password', 'Incorrect username or password.'); } }
|
核心验证器 en
核心验证器 zh-cn
输入验证