扩展Zendformelement_select,错误就会消失


extending Zend_form_element_select, the errors disappear

我有一个下拉Element_Select,我正在将其转换为自定义元素Element_SelectCustom,以便可以直接用值填充它。这是自定义元素

<?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);

我不知道它出了什么问题。也许还有其他方法需要我重新启动吗?

您必须将'NULL'更改为NULL。第一个是内容为"NULL"的字符串,后一个是空值。空字符串''也应该可以。

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