我真的在这里无能为力:
CActiveForm enableAjaxValidation设置为FALSE。
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'team-form',
'enableAjaxValidation'=>false,
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
'htmlOptions' => array('enctype' => 'multipart/form-data'),
)); ?>
在控制器上,我对此行进行了评论:
//$this->performAjaxValidation(array($model,$member));
但是,每当我通过这些字段时,我都会获得在MODEL上设置的规则消息,所以确实是在进行ajax验证。
为什么会这样?
答案 0 :(得分:1)
clientValidation
看起来与ajaxValidation
几乎相同,请查看您的broswer网络控制台,您将看到没有ajax调用(除非您在设置validateOnSubmit
后提交表单真的)。
编辑:
当您使用clientValidation
时,Yii将添加javascript以验证您的表单属性,具体取决于您在模型中声明的规则。类似的东西:
jQuery('#model-form').yiiactiveform({
// ...
'clientValidation':function(value, messages, attribute) {
if(jQuery.trim(value)=='') {
messages.push("Required attribute.");
}
},
// ...
});