Ошибка с 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, "

Другие вопросы по тегам