我正在使用小部件
sfWidgetFormChoice(array (
'choices' => CountryPeer::getAllCountry(),
))
Run Code Online (Sandbox Code Playgroud)
和验证者为
sfValidatorChoice(array (
'choices' => array_keys(CountryPeer::getAllCountry()),
))
Run Code Online (Sandbox Code Playgroud)
我得到一个选择元素
<select id="country" name="reg_form[country]">
<option value="1">India</option>
<option value="2">Srilanka</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我想添加一个--Select Countries--默认选项:
<option value="">--Select Countries--</option>
Run Code Online (Sandbox Code Playgroud)
如果我没有选择任何国家,那么它应该抛出一个必要的错误.
首先,将选项添加到选择数组中,但不添加到验证器中,因此会抛出错误:
$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()),
))
Run Code Online (Sandbox Code Playgroud)
然后将"-1"选项设置为默认值:
$your_form->setDefault('country', -1);
Run Code Online (Sandbox Code Playgroud)
应该这样做.
| 归档时间: |
|
| 查看次数: |
7644 次 |
| 最近记录: |