2011-05-25 109 views
5

我有一个下拉Element_Select,我正在变成一个自定义元素Element_SelectCustom,以便我可以直接使用值填充它。这是自定义元素扩展Zend_form_element_select,错误消失

<?php 

require_once ('Zend/Form/Element/Select.php'); 

class Zend_Form_Element_SelectCustom extends Zend_Form_Element_Select 
{ 
    public function init() { 
     $this->addMultiOptions(array(
      'NULL' => 'Choose Value', 
      '1' => 'First', 
      '2' => 'Second', 
      '3' => 'Third', 
     )); 
     return parent::init(); 
    } 

的问题是,当我新的自定义元素添加到窗体并将其设置为需要的,它不会,当我不选择一个值触发一个错误。

$test = new Zend_Form_Element_SelectCustom('test'); 
$test->setRequired(true); 
$this->addElement($test); 

我不知道它有什么问题。有没有其他方法可以重新启动?

回答

3

您必须将'NULL'更改为NULL。第一个是内容为“NULL”的字符串,后者为空值。一个空字符串''应该也很好。

public function init() 
{ 
    $this->addMultiOptions(array(
     NULL => 'Choose Value', // '' => 'Choose Value' 
     '1' => 'First', 
     '2' => 'Second', 
     '3' => 'Third', 
    )); 
    return parent::init(); 
} 
+0

谢谢你,看起来就是这样。 – sameold 2011-05-26 07:05:37