2009-11-18 35 views
0

在symfony中的代碼,我使用,要使用小部件在symfony中創建複選框並驗證它?

$this->setWidgets(array(
    'mobile'      =>new sfWidgetFormInput(), 
    'subscribetosms'    =>new sfWidgetFormInputCheckbox(), 
)); 

我想驗證的複選框,也代碼從複選框取值

+0

請至少使試圖在發問前閱讀Symfony的書。這是關於symfony表單的一個非常基本的問題。此外,請了解如何在SO上設置您的帖子的格式。 – 2009-11-20 01:10:46

+0

對不起,謝謝你對我的評論,我會這麼做的。 – 2009-11-20 04:27:02

回答

4

驗證表單字段symfony的u需要設置像驗證這個(假設你是在一個表格班):

$this->setValidators(array(
     'mobile'   => new sfValidatorString(array(...)), 
     'subscribetosms' => new sfValidatorInteger(array(...)) 
    )); 

問題是,你想驗證什麼?如果您希望某些值發送到您的PHP腳本,如果選中該複選框,您需要在小部件中設置此值。

new sfWidgetFormInputCheckbox(array('value_attribute_value'=>'your_value') 

現在你可以配置你的驗證器來驗證此值(整數sfValidatorString一個字符串,sfValidatorInteger的)。

要驗證後得到你的行動值:

if ($this->form->isValid()) { 
    $myValue = $this->form->getValue('subscribetosms'); 
}