我尝试在验证中使用表达式语言,我发现了一些奇怪的东西。
让我们考虑一下狗模型
class Dog
{
/**
* @Assert\Expression("this.getName() != 'aa' ", message="Not good!")
*/
private $name = 'aa';
...
}
' AA' !=' aa' => false所以验证服务报告错误 - 很酷, 但是让我们尝试用
做同样的事情class Dog
{
/**
* @Assert\Expression("this.getName() != '' ", message="Not good!")
*/
private $name = '';
...
}
这个在验证期间没有返回任何错误???为什么?
答案 0 :(得分:1)
哦,我找到了你感兴趣的专栏:)
第47行, vendor / symfony / symfony / src / Symfony / Component / Validator / Constraints / ExpressionValidator.php
if (null === $value || '' === $value) {
return;
}