2012-08-02 131 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')))); 

上面的代码将创建两个选项的意大利和外国国籍单选按钮。