1.内置验证器的短名称分别有:
boolean
: yiivalidatorsBooleanValidator
captcha
: yiicaptchaCaptchaValidator
compare
: yiivalidatorsCompareValidator
date
: yiivalidatorsDateValidator
default
: yiivalidatorsDefaultValueValidator
double
: yiivalidatorsNumberValidator
each
: yiivalidatorsEachValidator
email
: yiivalidatorsEmailValidator
exist
: yiivalidatorsExistValidator
file
: yiivalidatorsFileValidator
filter
: yiivalidatorsFilterValidator
image
: yiivalidatorsImageValidator
in
: yiivalidatorsRangeValidator
integer
: yiivalidatorsNumberValidator
match
: yiivalidatorsRegularExpressionValidator
required
: yiivalidatorsRequiredValidator
safe
: yiivalidatorsSafeValidator
string
: yiivalidatorsStringValidator
trim
: yiivalidatorsFilterValidator
unique
: yiivalidatorsUniqueValidator
url
: yiivalidatorsUrlValidator
2. 下面举个例子
1 public function rules() { 2 return [ 3 [['name', 'password', 'email'], 'required'], 4 ['name', 'unique', 'message'=>'{attribute}已经被占用'], 5 ['name', 'string', 'min'=>3, 'max'=>16, 'message'=>'{attribute}的长度必须在3~16之间'], 6 ['email', 'email', 'message'=>'请输入正确的{attribute}'], 7 ['password', 'string', 'min'=>8, 'max'=>16, 'message'=>'{attribute}的长度必须在8~16之间'], 8 ]; 9 }
最后验证这些规则只需要用model调用validate()方法即可,例子如下:
1 //将user对象保存到mongo数据库中 2 public function saveUser($name, $password, $email) { 3 $user = new User(); 4 $user->name = $name; 5 $user->password = $password; 6 $user->email = $email; 7 //在这里用$user调用yiivalidatorsValidatotr::validate()进行验证所有的属性 8 if ($user->validate()) { 9 $user->insert(); 10 } else { 11 return $user->errors; 12 } 13 }