如何将特定类添加到已生成表单错误的输入?

时间:2010-03-24 16:49:07

标签: zend-framework zend-form

如果输入产生错误,我想在输入中添加一个特定的类。

例如,如果输入为空并且需要验证器,则它应如下所示:

<dd id="login-element">
    <input type="text" name="login" id="login" value="" class="input-text error" />
    <ul class="errors">
        <li>Value is required and can't be empty</li>
    </ul>
</dd>

class =“输入文字错误

请告诉我该怎么做。

3 个答案:

答案 0 :(得分:1)

我用jquery解决了它! :)

我使用标准装饰器并操纵DOM中预览对象的类。

$('ul.errors').prev().addClass("FieldError");

答案 1 :(得分:0)

请查看本教程,以便更好地了解更改代码的位置:http://devzone.zend.com/article/3450-Decorators-with-Zend_Form

在您的情况下,我建议将ViewHelper装饰器替换为创建所需输出的装饰器。您可以使用自己的代码扩展Zend_Form_Decorator_ViewHelper类,并覆盖getElementAttribs()方法以插入您的类属性。

答案 2 :(得分:0)

form类中添加元素时,不是创建一个Decorator,而是简单地设置类。例如,您可以在init()

Zend_Form方法中使用以下内容
$this->addElement('text', 'email', array(
    'label'      => 'Your email address:',
    'required'   => true,
    'filters'    => array('StringTrim'),
    'validators' => array(
        'EmailAddress',
    ),
    'class' => 'input-large'
));