开发者

change error_message in Zend_Validate_EmailAddress

开发者 https://www.devze.com 2023-01-02 12:02 出处:网络
I need change all standart error message on my message in Zend_Element_Text when i use validator(\'EmailAddress\') this validator trows several differnt message.

I need change all standart error message on my message in Zend_Element_Text when i use validator('EmailAddress') this validator trows several differnt message.

  • Value is required and can't be empty
  • '' is no valid email address in the basic format local-part@hostname

When i set options setErrorMessage('some my error text') it string shows on any error several times.

the error looks like

  • some my error text
  • some my error text

W开发者_如何学JAVAhat the best way to solve this problem ?zf version 1.10.3


The following should cover all error messages for 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'
    )
);

Try using that and see if those error messages show. Hopefully you can customise those and get the correct validation messages showing.


@Alistair, not work your suggesion here.

// 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

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号