Symfony sfWidgetFormChoice默认禁用值

Dan*_*iel 0 php symfony1 symfony-1.4

小部件看起来像这样:

$this->widgetSchema['tara'] = new sfWidgetFormChoice(array(
    'choices'  => Doctrine_Core::getTable('Users')->getCountry(),
    'expanded' => false,
    'multiple' => false,
));
Run Code Online (Sandbox Code Playgroud)

getCountry函数:

static public $country = array(
    '1' => 'România',
    '2' => 'United States',
    '3' => 'France',
);

public function getCountry()
{
    return self::$country;
}
Run Code Online (Sandbox Code Playgroud)

现在小部件呈现如下:

  • 罗马尼亚
  • 美国
  • 法国

但我希望它看起来像这样:

  • 选择国家/地区 - 默认和禁用选项,不应由表单验证
  • 罗马尼亚
  • 美国说
  • 法国

我怎样才能做到这一点?

Gra*_*rck 7

您可以为数组添加"空"选项:

static public $country = array(
    '' => 'Choose a country',
    '1' => 'România',
    '2' => 'United States',
    '3' => 'France',
);
Run Code Online (Sandbox Code Playgroud)

并相应地验证.

或者你可以实现你自己sfWidgetFormChoice的类,它可以添加一个add_empty选项(很像sfWidgetFormDoctrineChoice).