Yii ajax验证 - 总是。为什么?

时间:2013-04-23 14:00:45

标签: yii

我真的在这里无能为力:

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验证。

为什么会这样?

1 个答案:

答案 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.");
       }
    },
  // ...
});