2

我使用 jquery 在 Zend 框架中创建了一个表单:

    class Contact_Form_Contact extends ZendX_JQuery_Form {

  public function init() {
        /* Form Elements & Other Definitions Here ... */
        //create new element
        $name = $this->createElement('text', 'name');
        //element options
        $name->setLabel("Enter your name:");
        $name->setRequired(TRUE);
        $name->setAttrib('size', 40);
        //add element to the form

        $this->addElement($name);
        .....

如果请求失败 setRequired 启用 class=errors,

如何将其覆盖为“ ui-state-error my-clean”?

阿曼。

4

2 回答 2

3

您可以这样设置装饰器选项,而不是覆盖装饰器:

$element->getDecorator('Errors')->setOption('class', 'ui-state-error my-clean')
于 2011-08-05T06:31:28.563 回答
2

在认真阅读了 Zend 的博客后,我发现使用装饰器很容易做到这一点:

  $this->setElementDecorators(array(
        'ViewHelper',
        'Label',
        array('Errors', array('class'=>'ui-state-error'))
    ));
于 2011-08-04T16:27:56.263 回答