2013-07-17 55 views
1

我有以下場景,我創建了一個窗體上yii和表單分割成多個步驟使用javascript和css,它的所有在一個單一的形式,但在視覺上分成步驟,現在我已經設置了ajax驗證這是完美的工作,問題是,當我點擊「下一步」按鈕進入下一步的表單,我想「ajax驗證」該字段的特定步驟,然後再進入下一步,依此類推, 有任何想法嗎?部分ajax驗證yii的形式

順便說一句,我使用的是標準的Yii CActiveForm AJAX驗證:

  $form = $this->beginWidget('CActiveForm', array(
       'id' => 'formElem', 
       'enableAjaxValidation' => true, 
       'clientOptions' => array('validateOnSubmit' => true), 
        )); 
+0

包括代碼樣本會增加回復的可能性。 – eebbesen

+0

需要更多。如何看足夠的表格至少兩個部分;加上你所調用的控制器動作。 – jmarkmurphy

+0

表單與這一個非常相似http://tympanus.net/Tutorials/FancySlidingForm/我在控制器代碼上有這個:if(Yii :: app() - > getRequest() - > getIsAjaxRequest()){ echo CActiveForm :: validate(array($ model)); Yii :: app() - > end(); } – CodeArtist

回答

0

我結束了做一些JavaScript函數來檢查根據從警予的Ajax請求的響應.error類,當我們點擊下一步按鈕,我們將檢查如下

  $(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 
      }