расширяя Zend_form_element_select, ошибки исчезают - PullRequest
5 голосов
/ 25 мая 2011

У меня есть выпадающий список 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);

Понятия не имею, что с этим не так.Может быть, есть другой метод, который мне нужно заново инициировать?

1 Ответ

3 голосов
/ 25 мая 2011

Вы должны изменить 'NULL' на NULL.Первый - это строка с содержимым «NULL», последний - пустое значение.Пустая строка '' тоже подойдет.

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