Zend framework2 是否将另一个类值与zend framework 2中视图文件中的表单元素合并?

Zend framework2 是否将另一个类值与zend framework 2中视图文件中的表单元素合并?,zend-framework2,zend-form,Zend Framework2,Zend Form,在zf2表单中,我创建了如下元素 $receivePerson = new Element\Select('receivePerson'); $receivePerson->setLabel('To') ->setAttribute('class', 'required'); 不,我需要添加另一个类属性值,如视图文件中的错误。如果我添加错误类值 在表单中,我的所有代码片段如下所示 $receivePerson = new Element\Se

在zf2表单中,我创建了如下元素

  $receivePerson = new Element\Select('receivePerson');
  $receivePerson->setLabel('To')
                ->setAttribute('class', 'required');
不,我需要添加另一个类属性值,如视图文件中的错误。如果我添加错误类值 在表单中,我的所有代码片段如下所示

$receivePerson = new Element\Select('receivePerson');
$receivePerson->setLabel('To')
              ->setAttribute('class', 'required error');
我使用这段代码,但它没有显示任何预期的结果

$element->setAttributes(array('class', 'error'));
在那之后,我改变我的代码,像这样写

$element->setAttribute('class', 'error');

但它只显示错误,并且我所需的类值已消失。我还没有找到合适的解决方案。

是否确保在对元素进行更改后和呈现表单之前调用prepare

$form->prepare();
您不必使用Element对象来改变这一点,有一种更简单的方法来完成您想要的操作,即使用普通的ond html来编写表单:

myview.phtml

<li>
    <?php $class = XXXX ? 'one' : 'two'  ?>
    <?php echo $form->get('receivePerson')->getLabel() ?>
    <input class="<?php echo $class ?>" type="text" 
           name="<?php echo $form->get('receivePerson')->getName() ?>"
           value="<?php echo $form->get('receivePerson')->getValue() ?>"
    />
</li>

  • 我可以这样做我的预期结果$element->setAttribute('class','error'.$element->getAttribute('class');。这里你展示了一种新的技术,它也很好。