我认为每个框架都支持一些内置的AJAX支持,因此它可能是关于基于MVC的开发的一般性问题。 我想问的是。我有通过AJAX提交数据的表单一切正常,但是当我提交一个没有填写文本字段的表单时,它会验证数据并且数据验证文本作为响应。
我想避免这件事发生。
答案 0 :(得分:2)
你的问题很难理解(尽管有要求,你还没有对它进行修改),但我会采取措施来回答(反对我更好的判断;)。
您可能有两个问题:
如果是这种情况,请查看您的other question,据我所知,您走在正确的轨道上。您可以这样关闭AJAX验证:
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'contacts-form',
'enableAjaxValidation'=>false, // this turns off AJAX validation
)); ?>
如果enableAjaxValidation
设置为false,则不再使用Yii内置的AJAX验证系统验证空文本字段。
如果您不希望在提交空白文本字段时看到错误,那么您的模型验证规则就会出现问题。听起来这些字段设置为“必需”,您不希望它们。如果是这种情况,那么即使您关闭了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
祝你好运