Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Set default values in Select option in Symfony?

Tags:

php

symfony1

I am using the widget

sfWidgetFormChoice(array (
  'choices' => CountryPeer::getAllCountry(),
))

and validator as

sfValidatorChoice(array (
  'choices' => array_keys(CountryPeer::getAllCountry()),
))

I get a select element as

<select id="country" name="reg_form[country]">
  <option value="1">India</option>
  <option value="2">Srilanka</option>
</select>

I want to add a option --Select Countries-- as default:

<option value="">--Select Countries--</option>

so that it should throw an required error, if i am not selecting any country.

like image 324
Harish Kurup Avatar asked Oct 22 '25 05:10

Harish Kurup


2 Answers

First, add the option to the array of choices, but not into the validator, so it will throw the error:

$def_val = array(-1=>"--Select Countries--");

$sel_choices = array_merge($def_val,CountryPeer::getAllCountry());

sfWidgetFormChoice(array (
  'choices' => $sel_choices,
))

sfValidatorChoice(array (
  'choices' => array_keys(CountryPeer::getAllCountry()),
))

And then set the "-1" option as the default value:

 $your_form->setDefault('country', -1);

Should do it.

like image 187
danii Avatar answered Oct 23 '25 18:10

danii


You can set required option to false

sfValidatorChoice(array ( 'required' => false, 'choices' => array_keys(CountryPeer::getAllCountry()), ))

it should work.

like image 36
metoikos Avatar answered Oct 23 '25 17:10

metoikos