2010-02-25 2 views
1

Несмотря на множество проб и ошибок, я не могу заставить виджет NumberTextBox работать. Я продолжаю получать сообщение об ошибке:Ошибка с dijit.form.NumberTextBox

Catchable fatal error: Argument 4 passed to Zend_Dojo_View_Helper_NumberTextBox::numberTextBox() must be an array, null given

Странность: Я событие попробовал этот пример прямо из страницы ZF примеров и не удалось с такой же ошибкой

  ->addElement(
      'NumberTextBox', 
      'numberbox', 
      array(
       'label' => 'NumberTextBox', 
       'required' => true, 
       'invalidMessage' => 'Invalid elevation.', 
       'constraints' => array(
        'min' => -20000, 
        'max' => 20000, 
        'places' => 0, 
       ) 
      ) 
     ) 

Итак, я в теперь потеря. Если у кого-то есть время, чтобы посмотреть на найденный код here, ваша помощь будет принята с благодарностью. Я знаю, что это то, что я пропускаю. Это всегда так.

ответ

1

Если вы настраиваете декораторы, убедитесь, что вы измените ViewHelper на DijitElement. Я столкнулся с этой проблемой, и это было причиной.

+0

Большое спасибо, ваш ответ ответил мне. это +1. посмотрите на код, который я использовал ниже. –

0

Выстрел в темноте: попробуйте избавившись от «» в конце „места“ => 0,»

0

Я использую базовую форму,

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

}

}

Я сделал исходный код как можно более простым, чтобы изобразить идея о том, что я имею в виду.