2011-11-30 51 views
0

我認爲每個框架都支持一些內置的AJAX支持,所以它可能是關於基於MVC的開發的一般問題。 我想問的是。我有通過AJAX提交數據的表單,除了當我提交沒有填充文本字段的表單時,它驗證數據並且數據驗證文本以響應的形式獲得時,一切都工作正常。Yii形成ajax驗證,提交和響應

我想避免這種事情不發生。

+0

你要避免什麼?你能重申嗎? –

+0

你能否詳細說明你的問題。您要麼關閉客戶端驗證或其他事情。 – Pentium10

回答

2

你的問題很難理解(儘管有要求,你還沒有修改過),但我會採取刺探的方式來回答(針對我的更好判斷)。

你可能有兩個問題:

  1. 你不想用AJAX驗證

如果是這樣的話,看着你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

    好運