我有这样的表单定义类:
class HistorySliderType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('date', 'datetime', array(
'date_widget' => 'single_text',
'time_widget' => 'single_text',
'date_format' => 'yyyy-MM-dd',
'with_seconds' => true
));
}
public function getDefaultOptions(array $options)
{
return array(
'data' => array('date' => new \DateTime())
);
}
/**
* {@inheritdoc}
*/
function getName()
{
return 'acme_tbundle_historyslidertype';
}
}
我希望date
字段为now
作为默认值,而字段在表单呈现时保持空白。
我是否遗漏了某些内容,或者getDefaultOptions
不应该用于指定初始(默认)表单值?
UPD :
经过一番研究后,我开始认为这是一个错误,所以填补它:https://github.com/symfony/symfony/issues/3288
答案 0 :(得分:1)
添加字段时使用data
选项:
$builder->add('token', 'hidden', array(
'data' => 'abcdef',
));