2012-08-02 539 views
0

我設置Zend的表單元素廣播:Zend_Form_Radio不顯示信息錯誤

//nationality 
    $this->addElement('radio', 'nationality', array('label' => 'F_NATIONALITY', 'separator' => ' ', 'label_class' => 'l_radio', 'required' => true)); 
    $this->nationality->addMultiOption('italian', 'F_NATIONALITY_IT'); 
    $this->nationality->addMultiOption('foreign', 'F_NATIONALITY_FO'); 
    $this->nationality->addValidator('NotEmpty'); 

,這是輸出:

enter image description here

你不明白究竟是爲什麼我不能顯示錯誤消息,即使我設置屬性「必需」驗證和'NotEmpty'?

感謝

+0

我測試了你的代碼,它似乎爲我工作(提交表單後顯示錯誤消息)。你能提供更多的背景嗎?也許錯誤是在別的地方... – 2012-08-02 11:05:13

+0

那個元素的裝飾器是什麼?可能你錯過了'Errors'裝飾器。嘗試'var_dump($ this-> nationality-> getDecorators());'並查看返回結果。 – drew010 2012-08-02 18:14:48

回答

0
$nationality= new Zend_Form_Element_Radio('nationality'); 
     $nationality->setLabel('Nationality:') 
      ->setRequired(true) 
       ->addMultiOptions(array(
          'italian' => 'Italian', 
          'foreign' => 'Foreign' 
           )) 
        ->setSeparator(' '); 
      //->setDecorators(array('ViewHelper','Label', 'Errors', array('HtmlTag', array('tag' => 'p')))); 

上面的代碼將創建兩個選項的意大利和外國國籍單選按鈕。