--Core validator 如 required 同时支持客户端验证和服务端验证;Inline validator 如 validname 不支持客户端验证。
validname validator 必须提交表单后才能触发验证。
--自定义函数验证Only For Server validator,如果没有required,需要加'skipOnEmpty' => false, or 'skipEmpty' => false?
--when Only For Server validator
[
['username', 'required', 'when' => function($model, $attribute) {
return $model->username== 'MIKE';
}],
]
/**
* @param Model $model 要验证的模型对象
* @param string $attribute 待测特性名
* @return boolean 返回是否启用该规则
*/
function ($model, $attribute)
validname validator 必须提交表单后才能触发验证。
--自定义函数验证Only For Server validator,如果没有required,需要加'skipOnEmpty' => false, or 'skipEmpty' => false?
--when Only For Server validator
[
['username', 'required', 'when' => function($model, $attribute) {
return $model->username== 'MIKE';
}],
]
/**
* @param Model $model 要验证的模型对象
* @param string $attribute 待测特性名
* @return boolean 返回是否启用该规则
*/
function ($model, $attribute)
--whenClient 验证
[
['username', 'required', 'when' => function ($model) {
return $model->username== 'MIKE';
}, 'whenClient' => "function (attribute, value) {
return $('#username).value == MIKE;
}"],
]
simple eg:
['username', 'required',
'when' => function ($model) {
return false;
},
'when' => function ($model) {
return false;
},
'whenClient' => "function(attribute, value) {
return false;
}"
],
return false;
}"
],