Set default values in Select option in Symfony?

php, symfony1

Solution

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.

Problem

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.

Original source