我正在构建一个表单,该表单在某些字段中具有默认值:
$builder->add('field', 'text', array('data' => 'Default value');
然后在Twig中渲染此表单字段,如下所示:
{{ form_widget(form.field) }}
一切正常,但我不想在HTML呈现的输入标签中设置“默认值” ,因为我只希望内部使用此默认值,而最终用户不知道该值。Symfony2中是否有任何内置方法可以处理该问题,或者我必须制作一些自定义代码?
您可以修改您的实体以执行此操作:
class MyEntity{
const DEFAULT_FOO = "Default value";
// ...
private $foo;
// ...
public function setFoo($foo){
if ( $foo === null ){
$foo = self::DEFAULT_FOO;
}
$this->foo = $foo;
}
// ...
}
然后确保进行设置by_reference
,以确保每次都调用setter:
$builder->add('field', 'text', array(
'by_reference' => true
));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句