gpt4 book ai didi

php - 如何让 Symfony 呈现实体中可为空字段的复选框?

转载 作者:搜寻专家 更新时间:2023-10-31 22:01:09 25 4
gpt4 key购买 nike

假设我的实体中有一个可为空的日期时间字段:

class Foo
{
/**
* @ORM\Column(name="due", type="datetime", nullable=true)
*/
private $due;

public function getDue()
{
return $this->due;
}

public function setDue($due)
{
$this->due = $due;
return $this;
}
}

现在在 FooType.php 中,我为此定义了一个表单域:

public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
// ...
->add('due', 'datetime')
// ...
;
}

但是,即使该字段可以为 null,呈现的表单字段将只允许用户输入日期/时间,而不是说它应该为 null

我想要一个像这样的单选按钮用户界面:

( ) No due date
( ) Due date: [ control ]

或者可能是一个复选框:

[ ] Due date:   [ control ]

理想情况下,如果选择“无截止日期”/未选中该复选框,则应禁用该控件。

有没有可能在 Symfony 中优雅地做到这一点?

最佳答案

Afaik 没有 symfony 提供的解决方案

我愿意

$builder
// ...
->add('due', 'hidden')

并且在 View 中,您使用 html 和 js 实现了逻辑

所以点击截止日期的两个复选框然后显示日期时间输入

你只需要在提交前将值(null || thedatetimeinputvalue)设置为隐藏字段

关于php - 如何让 Symfony 呈现实体中可为空字段的复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28986860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com