Nasıl özelleştirilmiş hata mesajları ile bir zend form öğesi için özel bir doğrulayıcı yazabilirim?

1 Cevap php

I have a question field with a list of allowed characters : A-Z,0-9,colon (:), question mark (?), comma(,), hyphen(-), apostrophe ('). I have the regex which works fine, in the fashion :

 $question->addValidator('regex', true, array(<regular expresstion>))

Varsayılan hata mesajı'' 'desen karşı eşleşmiyor'' gibi bir şeydir

Ben diyor özel bir hata mesaj yazmak istiyorsanız bu alana 'izin verilmiyor'

Kaçırdığım mevcut zend bileşenlerini kullanarak bunu yapmak için basit bir yolu var mı?

Is writing a custom validator the only way to achieve what I'm trying to achieve? If yes, how do I write a custom validator (I looked at the documentation and didn't quite understand how I can customize the error messages) If there is any other way, I'd most appreciate that input too.

Bu yanıt için zaman ayırdığınız için teşekkür ederiz!

1 Cevap

Evet, özel validator sizin ihtiyaçlarınıza uygun. Bunu yazmak için nasıl, bu başvurun manual.

Bir kod pasajı ile ilgili olarak, burada işveren kimliğini doğrulamak için (kısmi) bir basit denetleyicidir

protected $_messageTemplates = array(
    self::UNIQUE => 'The id provided is already in use',
    );

public function isValid($value, $context = null)
{
    $this->_setValue($value);

    $personnel = new Personnel();
    $isValid = true;

    if( $personnel->isExistingIdEmployee($value) && ($value != $this->_id) ) {
        $this->_error(self::UNIQUE);
        $isValid = false;
    }

    return $isValid;
}