Php 部分ajax验证yii表单
我有以下场景,我在yii上创建了一个表单,并使用javascript和css将表单拆分为多个步骤,所有这些都在一个表单中,但在视觉上拆分为多个步骤,现在我已经设置了ajax验证,它工作得很好,问题是,当我单击“下一步”按钮转到表单的下一步时,我想在进入下一步之前,“ajax验证”该特定步骤的字段,诸如此类,有什么想法吗 顺便说一句,我使用的是标准的Yii CActiveForm ajax验证:Php 部分ajax验证yii表单,php,javascript,yii,Php,Javascript,Yii,我有以下场景,我在yii上创建了一个表单,并使用javascript和css将表单拆分为多个步骤,所有这些都在一个表单中,但在视觉上拆分为多个步骤,现在我已经设置了ajax验证,它工作得很好,问题是,当我单击“下一步”按钮转到表单的下一步时,我想在进入下一步之前,“ajax验证”该特定步骤的字段,诸如此类,有什么想法吗 顺便说一句,我使用的是标准的Yii CActiveForm ajax验证: $form = $this->beginWidget('CActiveF
$form = $this->beginWidget('CActiveForm', array(
'id' => 'formElem',
'enableAjaxValidation' => true,
'clientOptions' => array('validateOnSubmit' => true),
));
此扩展可能对您有所帮助
最后,我根据yii的ajax请求的响应执行了一些javascript函数来检查.error类,当我们单击next按钮时,我们将进行如下检查
$(this).closest("fieldset").each(function(){
$('input').blur(); //This Will trigger yii's CActiveForm ajax requests and return class .error or .success
});
var errchk = $(this).closest('fieldset').find('.error').length;
/* Here we check for validation before moving to next step*/
if(errchk){
alert("Please Complete all Required fields!");
return false;
}else{
void(0); //continue to slide
}
包含代码示例将增加响应的可能性。需要更多。是否足够查看表单的至少两个部分;以及您正在调用的控制器操作。表单与此非常相似,我在控制器代码中有以下内容:if(Yii::app()->getRequest()->getIsAjaxRequest()){echo CActiveForm::validate(数组($model));Yii::app()->end();}