我对Yii客户端验证有一些疑问。当我将clientOptions -> validateOnSubmit
指定为true时,Yii会在客户端自动验证我的表单吗?好的,那么验证规则将从模型中的rules()
方法获得规则?为什么当我将'minlength' => 2
直接写入表单模板中的字段定义时,它不会起作用?
答案 0 :(得分:3)
这是CActiveForm小部件的示例:
$form = $this->beginWidget('CActiveForm', array(
'id' => 'register-form',
'enableClientValidation' => true,
'enableAjaxValidation' => false,
'clientOptions' => array(
'validateOnSubmit' => true,
'validateOnChange' => false,
'validateOnType' => false,
'errorCssClass' => 'has-error',
'successCssClass' => 'has-success',
'afterValidate' => 'js:function(form, data, hasError){}'
)));
enableClientValidation
在您的网页上激活基于jquery的验证。和客户端选项指定客户端验证的工作方式是的,验证规则来自模型中的rule()
函数,因此您应该在那里定义任何验证规则。