ZF2 - 在验证失败时不在输入元素下显示zend验证器消息

时间:2013-03-26 11:39:47

标签: php zend-framework2

我不希望默认情况下在验证失败时在输入元素下显示Zend验证器消息但是我需要根据我的要求使用Zend验证消息。

有什么建议吗?

3 个答案:

答案 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值,指示是否应该呈现错误