Ошибка с dijit.form.NumberTextBox
Несмотря на множество проб и ошибок, я не могу заставить работать виджет NumberTextBox. Я продолжаю получать это сообщение об ошибке:
Исправляемая фатальная ошибка: аргумент 4, передаваемый в Zend_Dojo_View_Helper_NumberTextBox::numberTextBox(), должен быть массивом с нулевым значением
Странная вещь: я попробовал этот пример прямо со страницы примеров ZF, и он потерпел неудачу с той же ошибкой
->addElement(
'NumberTextBox',
'numberbox',
array(
'label' => 'NumberTextBox',
'required' => true,
'invalidMessage' => 'Invalid elevation.',
'constraints' => array(
'min' => -20000,
'max' => 20000,
'places' => 0,
)
)
)
Итак, я в растерянности сейчас. Если у кого-то есть время взглянуть на код, найденный здесь, ваша помощь будет принята с благодарностью. Я знаю, что это то, что я пропускаю. Это всегда так.
3 ответа
Если вы устанавливаете декораторы, убедитесь, что вы изменили ViewHelper на DijitElement. Я столкнулся с этой проблемой, и это было причиной.
Я использую базовую форму,
BaseForm extends Zend_Dojo_Form{
public $elementDecorators = array(
'DijitElement',
array(
array('data' => 'HtmlTag'),
array('tag' => 'div', 'class' => 'element')
),
array('Label',
array('tag' => 'div', 'class' => 'element-label')
),
array(array('row' => 'HtmlTag'),
array('tag' => 'div', 'class' => 'element-row' )
)
);
... init(){}
.... construct(){}
}
MyForm расширяет BaseForm {
constructor(){
$this->starts = new Zend_Dojo_Form_Element_DateTextBox( "starts" );
$this->starts->setLabel('Starting from')
->setDecorators($this->elementDecorators);
}
}
Я сделал исходный код максимально простым, чтобы изобразить идею того, что я имею в виду.
Выстрел в темноте: попробуйте избавиться от "," в конце "мест" => 0, "