5

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

何が悪いのかわかりません。再開する必要がある別の方法はありますか?

4

1 に答える 1

3

に変更'NULL'する必要がありNULLます。前者は「NULL」という内容の文字列で、後者は空の値です。空の文字列''でも問題ありません。

public function init()
{
    $this->addMultiOptions(array(
        NULL => 'Choose Value', // '' => 'Choose Value'
        '1' => 'First',
        '2' => 'Second',
        '3' => 'Third',
    ));
    return parent::init();
}
于 2011-05-25T10:00:08.377 に答える