Symfony seç seçeneğinde Set varsayılan değerler?

2 Cevap php

Ben widget kullanarak am

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

ve validator gibi

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

Ben seçilmiş bir eleman olarak alabilirsiniz

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

Ben varsayılan olarak bir seçenek --Select Countries-- eklemek istiyorum:

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

O yüzden herhangi bir ülkeyi seçerek değilim eğer, bir gerekli hata atmak gerekir.

2 Cevap

Birincisi, seçimler dizi seçeneği eklemek değil, validator içine, bu yüzden hata atar:

$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()),
))

Ve sonra, varsayılan değer olarak "-1" seçeneğini ayarlayın:

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

Bunu yapmak gerekir.

Sen false gerekli seçeneği ayarlayabilirsiniz

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

çalışması gerekir.