php – 在Symfony的Select选项中设置默认值?

我正在使用小部件

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>

我想添加一个选项–Selected Countries–作为认选项:

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

如果我没有选择任何国家,那么它应该抛出一个必要的错误.

解决方法:

首先,将选项添加到选择数组中,但不添加到验证器中,因此会抛出错误

$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);

应该这样做.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...