2011-11-11 21 views
1

任何人都可以告訴我我們如何禁用驗證行動?實際上,我想根據動作的某些條件動態禁用驗證。我不知道我們該怎麼做?請幫幫我。如何禁用symfony中的操作驗證?

我的驗證如下:

$this->setValidators(
     array(
      'search_text'  => new sfValidatorString(
       array('required'=>true), 
       array('required' => 'Please enter keyword')), 
      'field_type'  => new sfValidatorString(
       array('required'=>true), 
       array('required' => 'Please select an option')), 
     ) 
    ); 

我想在行動中動態禁用上述驗證。

請幫幫我。

回答

1

您可以爲您的表單創建一個enable_validation(或任何您想要的名稱)選項。表單構造函數接受$ options數組。在你的行動中,你傳遞一個看起來像這樣的數組:array('enable_validation option' => false)

然後,在你的表單中,使用getOption()方法來檢索這個選項並相應地設置驗證器。