PHP Zend(ZF1)无法更改Zend_Filter_Input中的StringLength消息

时间:2016-05-18 13:13:12

标签: php zend-framework

我在Zend_Filter_Input中更改StringLength的消息时遇到问题。代码:

    $filters = array(
        'nazwa'   => 'StringTrim',
        'haslo'   => 'StringTrim'
    );           

    $validators = array(
        'nazwa'   => array(
            'allowEmpty' => false,                  
            'presence' => 'required',                       
            new Zend_Validate_StringLength(array('min' => 5, 'max' => 30)),
            array('Regex', array('pattern' => '/^[\w]+$/'))
        ),
        'haslo'   => array(
            'allowEmpty' => false,              
            'presence' => 'required',
            new Zend_Validate_StringLength(array('min' => 5, 'max' => 30))
        )
    );              

    $data = array(
        'nazwa'   => $formData['nazwa'],
        'haslo'   => $formData['haslo']
        );              

     $options = array(
            'notEmptyMessage' => "Pole '%field%' jest wymagane"
         );

    $input = new Zend_Filter_Input($filters, $validators, $data, $options);

我想我只是尝试了翻译,添加选项,$ validators中的消息,它仍然是默认消息。请告诉我如何更改新的默认错误消息(如TOO_SHORT,TOO_LONG)。

1 个答案:

答案 0 :(得分:1)

尝试为验证器失败设置消息。

$validator = new Zend_Validate_StringLength();
$validator->setMessage(
  'Your cusom message about short string',
  Zend_Validate_StringLength::TOO_SHORT
);

然后将$validator添加到您的$validators

更多信息here