SfValidator özel hata mesajı ayarlanır?

3 Cevap php

SfValidator özel bir hata mesajı nasıl eklenir, şeklidir

$this->setWidgets(array(
 'name'    =>new sfWidgetFormInput(),
 'country' =>new sfWidgetFormChoice(array('choices' => CountriesPeer::getAllCountries())),
));

doğrulayıcıları

$this->setValidators(array(
 'name'    =>new sfValidatorString(array('required'=>true)),
 'country' =>new sfValidatorChoice(array('choices' =>     array_keys(CountriesPeer::getAllCountries()))),

  ));

instead of required, or invalid message i want a custom message(like 'name is required' 'please select a country'). I know that we can set custom error message while rendering the form, but can we set it in form validators??

3 Cevap

çözüm i symfony-froms kitaptan aldım,

$this->setValidators(array(
'name'    =>new sfValidatorString(array('required'=>true),array('required' => 'The name   field is required.')),
'country' =>new sfValidatorChoice(array('choices' =>      array_keys(CountriesPeer::getAllCountries())),array('required' => 'please select a country')),

));

Ayrıca setMessage yöntemini kullanabilirsiniz:

$this->validatorSchema['name']->setMessage('required', 'Name is required');

Harish yukarıda gösterdiği gibi gitmek için bir yoldur, ama bir Plugin http://www.symfony-project.org/plugins/sfViewableFormPlugin uygulama geniş hata iletileri yapmak için yaml dosyaları kullanmak ve I18N mekanizması ile güzel bir şekilde sahip olacaktır ki birleştirir de var hataları göstererek.