我不希望默认情况下在验证失败时在输入元素下显示Zend验证器消息但是我需要根据我的要求使用Zend验证消息。
有什么建议吗?
答案 0 :(得分:5)
我得到了解决方案。 解决方案就在这里。
我正在使用
<?php echo $this->formRow($form->get('username')); ?>
现在我用
替换了它<?php echo $this->formElement($form->get('username')); ?>
为了根据我对视图的要求获取错误消息,我使用了
echo $this->formElementErrors($form->get('username')); // Errors must be capital letter
感谢所有回复。
答案 1 :(得分:5)
您的标题要求提供一般解决方案,如何在整个应用程序中禁用验证消息,解决方法是:
<?php
namespace YourApp;
use Zend\Form\View\Helper\FormRow;
class Module
{
public function getViewHelperConfig()
{
return array(
'factories' => array(
'formRow' => function($sm) {
$helper = new FormRow();
$helper->setRenderErrors(false);
return $helper;
}
),
);
}
?>
答案 2 :(得分:4)
首先:不要使用formCollection()
- ViewHelper
第二:使用formRow()
- ViewHelper渲染表单,并将第三个参数设置为false。你可以在这里看到:Zend\Form\View\Helper\FormRow#157
echo $this->formRow($element, $labelPosition, $renderErrors);
$element
应该是要呈现的表单元素,即:$this->form->get('elementName')
$labelPosition
可以简单地设置为空
$renderErrors
是一个bool值,指示是否应该呈现错误