在 Symfony2 中渲染没有价值的表单
Render form without value in Symfony2
我正在构建一个在某些字段中具有默认值的表单:
$builder->add('field', 'text', array('data' => 'Default value');
然后在 Twig 中呈现此表单字段,如下所示:
{{ form_widget(form.field) }}
工作正常,但我不想在 HTML 中呈现的 input 标记中设置 'Default value',因为我只想设置此默认值最终用户不知道此值的内部信息。 Symfony2 中是否有任何内置方法来处理它,或者我必须编写一些自定义代码?
据我了解
尝试添加必需的 false 并在您的控制器操作中处理它。
$builder->add('field', 'text', array('required' => false));
您可以修改您的实体以执行此操作:
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
));
我正在构建一个在某些字段中具有默认值的表单:
$builder->add('field', 'text', array('data' => 'Default value');
然后在 Twig 中呈现此表单字段,如下所示:
{{ form_widget(form.field) }}
工作正常,但我不想在 HTML 中呈现的 input 标记中设置 'Default value',因为我只想设置此默认值最终用户不知道此值的内部信息。 Symfony2 中是否有任何内置方法来处理它,或者我必须编写一些自定义代码?
据我了解
尝试添加必需的 false 并在您的控制器操作中处理它。
$builder->add('field', 'text', array('required' => false));
您可以修改您的实体以执行此操作:
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
));