ZF2 - 需要在特定条件失败时显示特定错误消息

Arv*_*ind 3 php zend-framework2

我正在使用ZF2表单验证.我必须验证两个字段USERNAME和PASSWORD.一切都很好,但我得到的消息

Please enter username.
Username can not be less than 3 characters.

Please enter password.
Password can not be less than 6 characters.
Run Code Online (Sandbox Code Playgroud)

如果用户未输入任何值,则仅显示此消息

Please enter username.    
Please enter password.
Run Code Online (Sandbox Code Playgroud)

我不想在失败时显示字段上的所有错误消息.

提前致谢.

Arv*_*ind 6

我得到了答案:为了打破ZF2中的验证链,我们必须使用

'break_chain_on_failure'=> true

$this->add(
    array(
        'name'       => 'usernmae',
        'required'   => true,
        'filters'    => array(
            array('name' => 'Zend\Filter\StringTrim')
        ),
        'validators' => array(
                          array('name' => 'NotEmpty', 
                            'options' => array('encoding' => 'UTF-8', 
                                'messages' => array(
                                    NotEmpty::IS_EMPTY => 'Please enter username')), 
                            'break_chain_on_failure' => true), 
            array(
                'name'    => 'Zend\Validator\StringLength',
                'options' => array(
                    'encoding' => 'UTF-8',
                    'min'      => 3,
                    'max'      => 30,
                    'messages' => array(
                                    StringLength::TOO_LONG => 'Username can not be more than 30 characters long', 
                                    StringLength::TOO_SHORT => 'Username can not be less than 3 characters.')
                ),
                'break_chain_on_failure' => true
            )
        )
    )
);
Run Code Online (Sandbox Code Playgroud)

我的博客:http://programming-tips.in