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


PHP Zend (ZF1) cant change StringLength messages in Zend_Filter_Input

我在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);

我想我只是尝试了所有的东西,从翻译,添加选项,$validator中的消息,它仍然是默认消息。请让我知道如何将这些默认错误消息(如TOO_SHORT、TOO_LONG)更改为新消息。

尝试设置验证程序失败的消息。

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

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

点击此处了解更多信息。