zend验证消息未显示

时间:2013-03-26 11:18:50

标签: php zend-framework

下面的代码不显示验证消息,我应该在任何地方打印任何变量。请指教。

$username = new Zend_Form_Element_Text('username', array('autocomplete' => 'off'));
        $username->setLabel('Username')
                ->setDecorators($elementDecoration)
                ->setRequired(true)
                ->addFilter('StripTags')
                ->addFilter('StringTrim')
                ->addValidator('NotEmpty', true, array('messages'=>'Cannot be empty'));


$elementDecoration = array(

            'ViewHelper',
            'Description',
            'Errors',
            array(array('data'  => 'HtmlTag'), array('tag' => 'td')),
            array('Label', array('tag' => 'td', 'placement' => 'prepend')),
            array(array('row'   => 'HtmlTag'), array('tag' => 'tr')),
        );

2 个答案:

答案 0 :(得分:0)

试试这个

$username->setLabel('Username')
                ->setDecorators($elementDecoration)
                ->setRequired(true)
                ->addErrorMessage('Cannot be empty')
                ->addFilter('StripTags')
                ->addFilter('StringTrim');

确保使用的装饰器是正确的。

$element->setDecorators(array(
    'ViewHelper',
    'Description',
    'Errors',
    array(array('elementDiv' => 'HtmlTag'), array('tag' => 'div')),
    array(array('td' => 'HtmlTag'), array('tag' => 'td')),
    array('Label', array('tag' => 'td')),
));

答案 1 :(得分:0)

您想要从元素中删除setRequired函数。此函数覆盖NotEmpty验证程序。由于您要检查NotEmpty,因此您可以删除setRequired以显示自己的消息。