Zend_Validate_EmailAddress içinde ERROR_MESSAGE değiştirmek

2 Cevap php

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.

  • Değer gereklidir ve boş olamaz
  • '' is no valid email address in the basic format local-part@hostname

When i set options setErrorMessage('bazıları benim hata metni') it string shows on any error several times.

hata gibi görünüyor

  • bazıları benim hata metni
  • bazıları benim hata metni

Ne bu sorunu çözmek için en iyi yolu nedir? Zf sürümü 1.10.3

2 Cevap

Aşağıdaki Zend_Validate_EmailAddress için tüm hata iletileri kapsamalıdır

$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'
    )
);

O kullanmayı deneyin ve bu hata mesajları göstermek görmek. Umarım bu kişiselleştirmek ve gösteren Doğru doğrulama iletileri alabilirsiniz.

@ Alistair, burada suggesion çalışmıyor.

// 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');