Symfony2验证器使用min参数的长度允许空值

时间:2014-08-15 11:46:54

标签: validation symfony

今天我发现Symfony> = 2.3验证器有些奇怪。我用的是

$metadata->addPropertyConstraint('body', new Length(array('min' => 50)));

它允许空输入。我不认为应该这样做,还是我错了?

1 个答案:

答案 0 :(得分:2)

这是预期的行为。

考虑一下不同的用例:电话号码可以是可选的,但如果用户输入了电话号码,则该电话号码应至少为10个字符。

因此,您需要将Length约束与NotNull / NotBlank约束结合起来。

有关详细说明,请参阅https://github.com/symfony/symfony/issues/10221#issuecomment-34769066

顺便说一下:实际上是关于空字符串处理的集体讨论https://github.com/symfony/symfony/issues/11956