yii提供了一系列常用的核心验证器,主要存在于 yii\validators 命名空间之下。为了避免使用冗长的类名,可以直接用昵称来指定相应的核心验证器。 比如可以用 'required' 昵称代指 yii\validators\requiredvalidator 类,比如:
1 public function rules()2 {3 return [4 [['email', 'password'], 'required'],5 ];6 }
yii\validators\validator::builtinvalidators 属性声明了所有被支持的验证器昵称。
public static $builtinvalidators = [ 'boolean' => 'yii\validators\booleanvalidator', 'captcha' => 'yii\captcha\captchavalidator', 'compare' => 'yii\validators\comparevalidator', 'date' => 'yii\validators\datevalidator', 'default' => 'yii\validators\defaultvaluevalidator', 'double' => 'yii\validators\numbervalidator', 'each' => 'yii\validators\eachvalidator', 'email' => 'yii\validators\emailvalidator', 'exist' => 'yii\validators\existvalidator', 'file' => 'yii\validators\filevalidator', 'filter' => 'yii\validators\filtervalidator', 'image' => 'yii\validators\imagevalidator', 'in' => 'yii\validators\rangevalidator', 'integer' => [ 'class' => 'yii\validators\numbervalidator', 'integeronly' => true, ], 'match' => 'yii\validators\regularexpressionvalidator', 'number' => 'yii\validators\numbervalidator', 'required' => 'yii\validators\requiredvalidator', 'safe' => 'yii\validators\safevalidator', 'string' => 'yii\validators\stringvalidator', 'trim' => [ 'class' => 'yii\validators\filtervalidator', 'filter' => 'trim', 'skiponarray' => true, ], 'unique' => 'yii\validators\uniquevalidator', 'url' => 'yii\validators\urlvalidator', 'ip' => 'yii\validators\ipvalidator', ];
下面详细介绍每一款验证器的主要用法和属性。
