【发布时间】:2017-02-21 08:56:11
【问题描述】:
我有这个日期类型:
$builder
->add('date', DateType::class, array(
'widget' => 'single_text',
'format' => 'dd/MM/yyyy',
"required"=>true,
'label' => "jour.date"))
提交日期为空的表单时,没有任何问题。顺利通过了
if ($form->isValid())
在控制器中,最后弹出一个错误
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'date' cannot be null
查询失败,因为它不能为空。但我希望它返回错误,而不是在日期为空时验证表单!
根据要求,实体:
/**
* @var \DateTime
*
* @ORM\Column(name="date", type="datetime")
*/
private $date;
先谢谢了。
【问题讨论】:
-
你能告诉我们你的实体代码吗?
-
您确定它正在通过 isValid 且没有日期吗?我将您的代码复制到 FormBuilder 的新实例中并执行
submit([])后跟isValid()返回 false。 -
@mickadoo 您应该将此作为答案发布。不是
submitting 表单是一个很好的错误,很容易被绊倒 -
嗨@Joshua,我肯定会发布它 - 总是很高兴得到我的代表:-) 但我想先检查它是否是正确的答案,因为即使你没有提交我认为 isValid 默认返回 false。
-
大家好,谢谢。它正在通过
isValid,是的,因为请求处于条件中。我在实体代码中添加字段
标签: symfony symfony-forms