zl程序教程

您现在的位置是:首页 >  其它

当前栏目

ActiveRecord 模型验证

模型 验证 ActiveRecord
2023-06-13 09:12:23 时间

Model 类的rules()方法返回的每个规则必须是以下格式。

 public function rules()
    {
        return [
            [['attributesl', 'attributes2'],//属性列表数组
                'validator',  //预定义验证器类的别名
                'on' => ' actionID',////应用场景列表(可选)
                'message' => 'string',//附加选项,如自定义的错误提是示信息
            ]
        ];
    }

“validator” 预定义验证表

验证器类

别名

功能描述

BooleanValidator

boolean

功能描述确保验证项值是true 或false

CaptchaValidator

captcha

验证码验证

CompareValidator

compare

确定值验证

EmailValidator

email

有效的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”还可以是模型类中的一个方法名,或者是一个自定义验证器的类型,这里就不再详细赘述。