У меня есть массив опций для списка выбора.
$options = array( 1=>'Option1', 2=>... );
Но если у меня есть только одна опция, я предпочитаю либо:
Скрытый<input type="hidden" name="opt" value="2"/>
с валидатором, для которого объявленное значение должно быть 2
Нет выходных данных.Значение будет храниться только в форме form_element / form до тех пор, пока не будет запрошено $form->getValues()
Этот код является нерабочим примером того, что я хочу: ($this
является объектом Zend_Form)
$first_val = reset(array_keys($options));
if( count($options) > 1 )
$this->addElement('select', 'opt', array(
'multiOptions' => $options,
'label' => 'Options',
'value' => $first_val,
'required' => true ));
else
$this->addElement('hidden', 'opt', array(
'required' => true,
'value' => $first_val ));
Однако значение не будет подтверждено до $first_val
.Любой может изменить скрытое значение, позволяя им вводить недопустимые значения.Это не приемлемо.
Помощь?