Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony在表单字段上返回NotBlank错误消息,尽管没有该约束_Symfony_Symfony 3.2 - Fatal编程技术网

Symfony在表单字段上返回NotBlank错误消息,尽管没有该约束

Symfony在表单字段上返回NotBlank错误消息,尽管没有该约束,symfony,symfony-3.2,Symfony,Symfony 3.2,在多次Google搜索(包括阅读许多堆栈溢出问题和答案)和花了几个小时阅读Symfony源代码(没有结果)之后,我最终决定在这里创建一个帐户并询问社区 我的问题是,一个本应为可选的表单字段在未填写时返回标准NotBlank错误消息,尽管底层实体属性没有NotBlank约束,并且实际上设置为允许空值: /** * @ORM\Column(type="integer", nullable=true) * @Assert\Type("integer") */ protected $delay_a

在多次Google搜索(包括阅读许多堆栈溢出问题和答案)和花了几个小时阅读Symfony源代码(没有结果)之后,我最终决定在这里创建一个帐户并询问社区

我的问题是,一个本应为可选的表单字段在未填写时返回标准NotBlank错误消息,尽管底层实体属性没有NotBlank约束,并且实际上设置为允许空值:

/**
 * @ORM\Column(type="integer", nullable=true)
 * @Assert\Type("integer")
 */
protected $delay_actual;
此外,尽管没有那么严重,但我必须手动将其设置为表单类型中不需要,尽管我使用的是猜测:

->add('delay_actual', null, [
    'required' => false,
    'label_format' => 'delay.delay_act'
])
表单在AJAX控制器操作中处理,没有任何额外的操作(即,每个字段都直接绑定到实体)。表单在其自己的细枝模板中显示如下:

{{ form_start(form) }}
{{ form_end(form) }}
我已尝试从属性中删除
@Assert\Type(“integer”)
,但没有帮助。我还尝试添加了
@Assert\Blank()
,只是想看看它会有什么效果,它确实防止了NotBlank错误,但显然这不是一个真正的解决方案

无论如何,在使用Symfony平台时,表单中有一个简单的可选字段应该是一件非常痛苦的事情,这是非常奇怪的。有人知道我可能错过了什么吗


更新:通过更新Symfony最终解决了这一问题,向我证明这是由框架中的错误引起的。

是否存在继承(可能会覆盖该字段)?检查您的探查器,在失败的帖子上,它应该显示导致错误的约束以及错误的来源。->这个分析器不工作(一直说它有404错误),但是通过在开发模式下尝试,我刚刚确定这个错误只发生在prod模式下。那么这能告诉你什么吗?哦,@ccKep-没有继承。如果只是在prod模式下发生,那么您可能没有清除缓存
php-bin/console-cache:clear--env=prod--no-debug
no,我定期清除缓存。是否存在继承(可能会覆盖该字段)?检查您的探查器,在失败的帖子中,它应该显示导致错误的约束以及错误的来源。->这个分析器不工作(一直说它有404错误),但是通过在开发模式下尝试,我刚刚确定这个错误只发生在prod模式下。那么这能告诉你什么吗?哦,@ccKep-没有继承。如果只是在prod模式下发生,那么您可能没有清除缓存
php bin/console缓存:clear--env=prod--no debug
no,我定期清除缓存。