Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] Włąsny komunikat w sfValidatorDoctrineUnique
Juzek
post 29.09.2010, 11:35:46
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 1.08.2007

Ostrzeżenie: (0%)
-----


Witam.

Chciałbym zdefiniować własny komunikat w przypadku gdy wartość podana w formularzu już istnieje w bazie czyli zastąpić standardowy "'An object with the same "%column%" already exist." własnym.

Mimo, że symfony nie zwracał błędów - poniższe rozwiązania nie przynosiły żądanego efektu.

Próbowałem:

  1. $this->setValidators(array('users_email' => new sfValidatorAnd(
  2. array(new sfValidatorDoctrineUnique(array('model' => 'Users', 'column' => 'users_email'), array('invalid' => 'Podany adres jest już w naszej bazie danych.')),
  3. new sfValidatorEmail(array()),
  4. ),
  5. array('halt_on_error' => true),
  6. array('required' => 'Pole jest wymagane')
  7. ) ,


lub:

  1. $this->setValidators(array('users_email' => new sfValidatorAnd(
  2. array(new sfValidatorDoctrineUnique(array('model' => 'Users', 'column' => 'users_email')),
  3. new sfValidatorEmail(array()),
  4. ),
  5. array('halt_on_error' => true),
  6. array('required' => 'Pole jest wymagane'),
  7. array('invalid' => 'Podany adres jest już w naszej bazie danych.')
  8. ) ,


lub:

  1. $this->setValidators(array('users_email' => new sfValidatorAnd(
  2. array(new sfValidatorDoctrineUnique(array('model' => 'Users', 'column' => 'users_email')),
  3. new sfValidatorEmail(array()),
  4. ),
  5. array('halt_on_error' => true),
  6. array('required' => 'Pole jest wymagane', 'invalid' => 'Podany adres jest już w naszej bazie danych.')
  7. ) ,


lub:

  1. $du = new sfValidatorDoctrineUnique(array('model' => 'Users', 'column' => 'users_email'));
  2. $du->setMessage('invalid', 'Podany adres Email już jest w naszej bazie.');
  3.  
  4. $this->setValidators(array('users_email' => new sfValidatorAnd(
  5. array($du ,
  6. new sfValidatorEmail(array()),
  7. ),
  8. array('halt_on_error' => true),
  9. array('required' => 'Pole jest wymagane', 'invalid' => 'Podany adres jest już w naszej bazie danych.')
  10. ) ,


EDIT:
Udało mi się w innym formularzu, niestety przed żądanym komunikatem pojawia się nazwa kolumny bazy danych.

Z góry dziękuję za pomoc.
Wracam na google.

Pozdrawiam.

Ten post edytował Juzek 29.09.2010, 12:37:41
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 07:57