相关疑难解决方法(0)

Symfony2表单BooleanToStringTransformer问题

我有一个布尔字段,我把它作为一个选择字段放在一个表单中(是或否).没有数据转换器,我会得到0或1.我添加了一个视图BooleanToStringTransformer(看起来合理):

$builder
        ->add(
            $builder->create('myBooleanField', 'choice', array(
                'choices' => array(true => 'Yes', false => 'No'),
            ))
            ->addViewTransformer(new BooleanToStringTransformer('1'))
        )
Run Code Online (Sandbox Code Playgroud)

当我尝试显示表单时,我收到错误"Expected a Boolean.".在创建表单之前,我的字段设置为false.

我试图将它设置为模型转换器:表单被调度,但是当我提交它时,我的字段被声明为无效.

我究竟做错了什么?

编辑:我差不多了.

  • 我使用模型变换器而不是视图变换器(选择字段使用字符串或整数,而不是布尔值)
  • 我将选择列表从更改array(true => 'Yes', false => 'No')array('yes' => 'Yes', 'no' => 'No')

所以代码现在看起来像 ->addModelTransformer(new BooleanToStringTransformer('yes'))

数据转换工作,除了我的字段始终设置为true,无论我选择什么值.

怎么了?

forms symfony-forms symfony symfony-2.3

4
推荐指数
1
解决办法
6254
查看次数

标签 统计

forms ×1

symfony ×1

symfony-2.3 ×1

symfony-forms ×1