измените error_message в Zend_Validate_EmailAddress

Я должен изменить все стандартное сообщение об ошибке на своем сообщении в Zend_Element_Text, когда я использую блок проверки допустимости ('EmailAddress') этот блок проверки допустимости плоскодонки несколько сообщений differnt.

  • Значение требуется и не может быть пустым
  • ''не действующий электронный адрес в основном формате local-part@hostname

Когда я установил опции setErrorMessage ('некоторый мой текст ошибки') он представляет шоу в виде строки на любой ошибке несколько раз.

ошибка похожа

  • некоторый мой текст ошибки
  • некоторый мой текст ошибки

Что лучший способ решить эту проблему? версия 1.10.3 ZF

5
задан abatishchev 14 June 2010 в 12:33
поделиться

2 ответа

Следующее должно покрыть все сообщения об ошибках для Zend_Validate_EmailAddress

$emailValidator = new Zend_Validate_EmailAddress();
$emailValidator->setMessages(
    array(
        Zend_Validate_EmailAddress::INVALID => 'Please enter in a valid email address in the format user@domain.co.uk',
        Zend_Validate_EmailAddress::INVALID_FORMAT => 'Error with format',
        Zend_Validate_EmailAddress::INVALID_HOSTNAME => 'Error with hostname',
        Zend_Validate_EmailAddress::INVALID_LOCAL_PART => 'Error with Local Part',
        Zend_Validate_EmailAddress::INVALID_MX_RECORD => 'Error with MX record',
        Zend_Validate_EmailAddress::INVALID_SEGMENT => 'Error with Segment'
    )
);

Попробуйте использовать это и посмотрите, появляются ли эти сообщения об ошибках. Надеюсь, вы сможете настроить их и получить правильные сообщения о проверке.

3
ответ дан 15 December 2019 в 06:17
поделиться

@Alistair, не работает ваше предложение.

// Email
  $email = new Zend_Form_Element_Text('email');

  $notempty = new Zend_Validate_NotEmpty();
  $email_validate = new Zend_Validate_EmailAddress();
  $email_validate->setMessages(
      array(
          Zend_Validate_EmailAddress::INVALID => 'Please enter in a valid email address in the format user@domain.co.uk',
          Zend_Validate_EmailAddress::INVALID_FORMAT => 'Error with format',
          Zend_Validate_EmailAddress::INVALID_HOSTNAME => 'Error with hostname',
          Zend_Validate_EmailAddress::INVALID_LOCAL_PART => 'Error with Local Part',
          Zend_Validate_EmailAddress::INVALID_MX_RECORD => 'Error with MX record',
          Zend_Validate_EmailAddress::INVALID_SEGMENT => 'Error with Segment'
      )
  );

  $email->addValidator($notempty , true, $email_validate)
        ->setRequired(false);
  // Submit
  $submit = new Zend_Form_Element_Submit('submit');
0
ответ дан 15 December 2019 в 06:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: