Lou*_*s B 0 checkbox symfony twig silex
我正在尝试在表单中呈现一个复选框,但得到了下一个错误:
Form.php第1149行中的TransformationFailedException:无法转换属性路径"[active]"的值:预期为布尔值.
是的,我发送的是一个0或1的整数,但是twig将它们作为字符串获取它有意义,但我真的找不到如何渲染复选框.
这是控制器:
$form = $form->add('active', 'checkbox', array('label' => 'User active?','required' => false));
Run Code Online (Sandbox Code Playgroud)
这是Twig方面:
{{ form_widget(form.active, { attr: { 'class': 'form-control' }}) }}
Run Code Online (Sandbox Code Playgroud)
任何的想法?
在您的表单中添加一个模型转换器@Rinat建议:
$form->add('active', 'checkbox', array('label' => 'User active?','required' => false));
$form->get('active')
->addModelTransformer(new CallbackTransformer(
function ($activeAsString) {
// transform the string to boolean
return (bool)(int)$activeAsString;
},
function ($activeAsBoolean) {
// transform the boolean to string
return (string)(int)$activeAsBoolean;
}
));
Run Code Online (Sandbox Code Playgroud)
更多细节请访问:http://symfony.com/doc/current/cookbook/form/data_transformers.html
归档时间: |
|
查看次数: |
1198 次 |
最近记录: |