dijit.form.NumberTextBox出错

时间:2010-02-25 18:14:21

标签: zend-form dijit.form

尽管有许多试验和错误,但我无法使用NumberTextBox小部件。我一直收到此错误消息:

  

捕获致命错误:传递给Zend_Dojo_View_Helper_NumberTextBox :: numberTextBox()的参数4必须是一个数组,给定为null

奇怪的是:我的事件直接从ZF示例页面尝试了此示例,并且失败并出现相同的错误

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

所以,我现在不知所措。如果有人有时间查看找到的代码here,我们将非常感谢您的帮助。我知道这是我忽略的东西。它总是。

3 个答案:

答案 0 :(得分:1)

如果要设置装饰器,请确保将ViewHelper更改为DijitElement。我遇到了这个问题,这就是原因。

答案 1 :(得分:0)

在黑暗中拍摄:尝试摆脱'places'=>末尾的',' 0,'

答案 2 :(得分: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);

}

}

我使源代码尽可能简单,描绘了我的意思。