Yii形成ajax验证,提交和响应

时间:2011-11-30 14:46:19

标签: yii

我认为每个框架都支持一些内置的AJAX支持,因此它可能是关于基于MVC的开发的一般性问题。 我想问的是。我有通过AJAX提交数据的表单一切正常,但是当我提交一个没有填写文本字段的表单时,它会验证数据并且数据验证文本作为响应。

我想避免这件事发生。

1 个答案:

答案 0 :(得分:2)

你的问题很难理解(尽管有要求,你还没有对它进行修改),但我会采取措施来回答(反对我更好的判断;)。

您可能有两个问题:

  1. 您不想使用AJAX进行验证
  2. 如果是这种情况,请查看您的other question,据我所知,您走在正确的轨道上。您可以这样关闭AJAX验证:

    <?php $form=$this->beginWidget('CActiveForm', array(
      'id'=>'contacts-form',
      'enableAjaxValidation'=>false, // this turns off AJAX validation
    )); ?>
    

    如果enableAjaxValidation设置为false,则不再使用Yii内置的AJAX验证系统验证空文本字段。

    1. 您没有在模型上设置正确的字段验证规则
    2. 如果您不希望在提交空白文本字段时看到错误,那么您的模型验证规则就会出现问题。听起来这些字段设置为“必需”,您不希望它们。如果是这种情况,那么即使您关闭了AJAX验证,当您在常规的非AJAX提交上验证模型时,也会出现这些错误。

      以下是一个例子:

      class Model extends CActiveRecord {
        public function rules() {
          return array(
              array('oneTextField, anotherTextField', 'required'), // these will error if submitted empty / blank
              array('checkboxField', 'boolean'),
          );
        }
      }
      

      这是开始了解Yii模型验证规则的好地方:Declaring Validation Rules

      祝你好运