【问题标题】:Symfony Forms - Changing the field class based on available input dataSymfony Forms - 根据可用的输入数据更改字段类
【发布时间】:2016-05-30 07:46:31
【问题描述】:

我想根据它是否具有从请求中填充的信息来向选择字段添加一个特定的类 - 在特定情况下,它是一个过滤器表单,它应该指示一旦表单填写了哪些过滤器作为 UX 功能提交。我知道我可以通过检查 twig 中的 form.fieldname.vars.data 属性并手动设置类来直接在 twig 中执行此操作,但这是实现它的最优雅/最简单的方法吗?

【问题讨论】:

  • 在 twig imho 或 javascript 中执行:从视图中保留单独的逻辑。

标签: css forms symfony styles


【解决方案1】:

据我了解,这更适合在您构建表单时执行,因此在 PHP 方面:

#determine css class
if($something_or_other) {
    $css_class = 'my_class';
}

$builder->add(
    'input_1',
    ChoiceType::class, #depending on your SF2 version, this will differ
    [
        'attr' => ['class' => $css_class]
    ]
)

【讨论】:

  • 那么它最适合在表单类型里面?
  • 就我个人而言,我会使用某种 Util 类,其中包含可以执行此操作的方法。这可以从控制器中调用,并且可以在实例化时将类发送到表单类型中。
  • 带注释的那一行是完全错误的:如果你想这样做,去掉单引号。
  • @DonCallisto - 啊,在我的 IDE 之外编写代码的麻烦。你是绝对正确的,当然。已编辑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-21
  • 2011-01-23
  • 2019-07-20
  • 1970-01-01
  • 2016-05-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多