Yii2 Model的一些常用rules规则
提示:打印出Validator::$builtInValidators
可以看到被支持的所有validators
去除首尾空白字符
["email", "trim"]
或
["email", "filter", "filter" => "trim"]
字段必填
["email", "required"]
赋予默认值
["age", "default", "value" => 18]
字符串长度
["email", "string", "min" => 3, "max" => 20]
或
["email", "string", "length" => [3, 20]]
格式类型验证
// 整数格式
["age", "integer"]
// 浮点数格式
["salary", "double"]
// 数字格式
["temperature", "number"]
// 布尔格式
["isAdmin", "boolean"]
// email格式
["email", "email"]
// 日期格式
["birthday", "date"]
// URL格式
["website", "url", "defaultScheme" => "http"]
验证码
["verificationCode", "captcha"]
值在数据表中是唯一的
["email", "unique", "targetClass" => "commonmodelsUsers"]
值在数据表中已存在
["email", "exist",
"targetClass" => "commonmodelsUser",
"filter" => ["status" => User::STATUS_ACTIVE],
"message" => "There is no user with such email."],
检查输入的两个值是否一致
["passwordRepeat", "required"] // 必须要加上这一句
["passwordRepeat", "compare", "compareAttribute" => "password", "operator" => "==="]
数值范围检查
["age", "compare", "compareValue" => 30, "operator" => ">="]
["level", "in", "range" => [1, 2, 3]]
使用自定义函数过滤
["email", "filter", "filter" => function($value) {
// 在此处标准化输入的email
return strtolower($value);
}]
文件上传
["textFile", "file", "extensions" => ["txt", "rtf", "doc"], "maxSize" => 1024 * 1024 * 1024]
图片上传
["avatar", "image", "extensions" => ["png", "jpg"],
"minWidth" => 100, "maxWidth" => 1000,
"minHeight" => 100, "maxHeight" => 1000,
]
使用正则表达式
["username", "match", "pattern" => "/^[a-z]w*$/i"]
更多信息请访问官方中文手册:http://www.yiichina.com/doc/guide/2.0/tutorial-core-validators
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。