Model 类的rules()方法返回的每个规则必须是以下格式。
public function rules()
{
return [
[['attributesl', 'attributes2'],//属性列表数组
'validator', //预定义验证器类的别名
'on' => ' actionID',////应用场景列表(可选)
'message' => 'string',//附加选项,如自定义的错误提是示信息
]
];
}
“validator” 预定义验证表
验证器类 | 别名 | 功能描述 |
---|---|---|
BooleanValidator | boolean | 功能描述确保验证项值是true 或false |
CaptchaValidator | captcha | 验证码验证 |
CompareValidator | compare | 确定值验证 |
EmailValidator | 有效的Email地址格式验证 | |
DefaultValueValidator | default | 设定默认值 |
ExistValidator | exist | 确保验证项可以在指定数据库表的列中找到 |
FileValidator | file | 确保验证项含有一个上传文件的名字 |
FilterValidator | filter | 通过一个过滤器改变此验证项 |
CRangeValidator | in | 确保验证项的值在预先指定的范围之内 |
StringValidator | length | 确保验证项的长度在指定的范围之内 |
RegularExpression Validator | match | 正则表达式匹配验证 |
NumberValidator | number | 有效的数字格式验证 |
RequiredValidator | required | 确保验证项不为空 |
Unique Validator | unique | 确保验证项在数据库表列中是唯一的 |
UrlValidator | url | 有效的URL格式验证 |
SafeValidator | safe | 认为该验证项是安全的,以便于块赋值 |
比如:file 验证图片 图片可以为空、类型只能是jpg、png或者gif,最大10M等
public function rules()
{
return [
[
'imgurl',
'file',
'allowEmpty' => true,
'types' => 'jpg,gif,png',
'maxSize' => 1024 * 1024 * 10,
'toLarge' => '上传图片已超过10M',
],
['title','string', 'length' => [1, 10]],
];
}
说明:除了使用Yii2框架提供的预定义验证器之外,安正规则中指定的“validator”还可以是模型类中的一个方法名,或者是一个自定义验证器的类型,这里就不再详细赘述。
Comment here is closed