Nasıl doktrin `geçersiz` mesajı değiştirebilirim?

1 Cevap php

Ben doktrini ile Symfony kullanıyorum ve ben bir kayıt formu yapmak. E-posta alan benzersiz ilan edilir ve zaten mevcut olanı için ayarlarsanız, ben An object with the same "email" already exist. mesajı alıyorum. Aşağıdaki Doğrulayıcı kullanın:

$this->validatorSchema['email'] = new sfValidatorEmail(array('required' => true), array('invalid' => 'Does not seem to be a proper email'));

Nasıl ben "zaten var" mesajı değiştirebilirim? Teşekkürler

1 Cevap

Eğer görüyorsanız benzersiz alanda hata sonrası doğrulama oluşur, böylece orada Doğrulayıcı geçersiz kılmak gerekir, sizin formda şöyle yapabilirsiniz:

$this->validatorSchema->setPostValidator(
  new sfValidatorDoctrineUnique(
    array(
      'model' => 'Profile',
      'column' => array('email'),
      'throw_global_error' => false
    ),
    array(
      'invalid' => 'A user with that %column% already exists'
    )
  )
);

Eğer örneğin, çoklu alanları doğrulamak için gerekiyorsa username setPostValidator (birden onaylayıcıların tek bir dizi olarak kabul ettiği) bir sfValidatorAnd sfGuardUser iletebilirsiniz saklanır.

Ayrıca: Eğer diğer mevcut doğrulayıcılar korumak için gerekiyorsa o mergePostValidator yönteme bakarak değer.