我正在使用小部件
sfWidgetFormChoice(array (
'choices' => CountryPeer::getAllCountry(),
))
和验证器为
sfValidatorChoice(array (
'choices' => array_keys(CountryPeer::getAllCountry()),
))
我得到一个选择元素
<select id="country" name="reg_form[country]">
<option value="1">India</option>
<option value="2">Srilanka</option>
</select>
我想添加一个选项--Select Countries--
作为默认选项:
<option value="">--Select Countries--</option>
如果我没有选择任何国家/地区,它应该抛出必要的错误。
答案 0 :(得分:5)
首先,将选项添加到选择数组中,但不添加到验证器中,因此会抛出错误:
$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()),
))
然后将“-1”选项设置为默认值:
$your_form->setDefault('country', -1);
应该这样做。
答案 1 :(得分:1)
您可以将必需选项设置为false
sfValidatorChoice(array('required' =&GT; false,'choices'=&gt; array_keys(CountryPeer :: getAllCountry()), ))
它应该有用。