1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
class ClientsForm extends BaseClientsForm
{
protected static $subjects = array('Booking' => 'Booking','The appartment' => 'The appartment','Other' => 'Other');
public function configure()
{
$this->setWidgets(array(
'first_name' => new sfWidgetFormInputText(),
'last_name' => new sfWidgetFormInputText(),
'email' => new sfWidgetFormInputText(),
'subject' => new sfWidgetFormSelect(array('choices' => self::$subjects)),
'message' => new sfWidgetFormTextarea(),
));
$this->widgetSchema->setLabels(array(
'first_name' => 'First Name',
'last_name' => 'Last Name',
'email' => 'Email address',
'subject' => 'Subject',
'message' => 'Message'
));
$this->setDefaults(array('email' => 'Your email here', 'first_name' => 'Your first name', 'last_name' => 'Your last name'));
$this->widgetSchema->setNameFormat('client[%s]');
$this->setValidators(array(
'first_name' => new sfValidatorString(array('required' => false,)),
'last_name' => new sfValidatorString(array('required' => false,)),
'email' => new sfValidatorEmail(array(), array('invalid' => 'L\'adresse email est invalide.')),
'subject' => new sfValidatorChoice(array('choices' => array_keys(self::$subjects))),
'message' => new sfValidatorString(array('min_length' => 4), array(
'required' => 'Le champ message est obligatoire.',
'min_length' => 'Le message "%value%" est trop court. Il faut au moins %min_length% caractères.',
)),
));
$this->validatorSchema->setOption('allow_extra_fields', true);
$this->validatorSchema->setOption('filter_extra_fields', false);
}
} |
Partager