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:
$this->setValidators(array('users_email' => new sfValidatorAnd
( array(new sfValidatorDoctrineUnique
(array('model' => 'Users', 'column' => 'users_email'), array('invalid' => 'Podany adres jest już w naszej bazie danych.')), new sfValidatorEmail
(array()), ),
array('halt_on_error' => true), array('required' => 'Pole jest wymagane') ) ,
lub:
$this->setValidators(array('users_email' => new sfValidatorAnd
( array(new sfValidatorDoctrineUnique
(array('model' => 'Users', 'column' => 'users_email')), new sfValidatorEmail
(array()), ),
array('halt_on_error' => true), array('required' => 'Pole jest wymagane'), array('invalid' => 'Podany adres jest już w naszej bazie danych.') ) ,
lub:
$this->setValidators(array('users_email' => new sfValidatorAnd
( array(new sfValidatorDoctrineUnique
(array('model' => 'Users', 'column' => 'users_email')), new sfValidatorEmail
(array()), ),
array('halt_on_error' => true), array('required' => 'Pole jest wymagane', 'invalid' => 'Podany adres jest już w naszej bazie danych.') ) ,
lub:
$du = new sfValidatorDoctrineUnique
(array('model' => 'Users', 'column' => 'users_email')); $du->setMessage('invalid', 'Podany adres Email już jest w naszej bazie.');
$this->setValidators(array('users_email' => new sfValidatorAnd
( new sfValidatorEmail
(array()), ),
array('halt_on_error' => true), array('required' => 'Pole jest wymagane', 'invalid' => 'Podany adres jest już w naszej bazie danych.') ) ,
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.