php - 表达式语言 Symfony 组件 - 无法验证空字符串

标签 php validation symfony

我尝试在验证中使用表达式语言,但我发现了一些奇怪的东西。

让我们考虑狗模型

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 = '';
    ...
}

这个在验证期间不返回任何错误???为什么?

最佳答案

哦,我找到了您可能感兴趣的行:)

第 47 行,vendor/symfony/symfony/src/Symfony/Component/Validator/Constraints/ExpressionValidator.php

if (null === $value || '' === $value) {
  return;
}

关于php - 表达式语言 Symfony 组件 - 无法验证空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22850859/

相关文章:

javascript - 使用回车键而不是单击链接来更新搜索页面

javascript - 在 react 中对密码字段进行自定义验证

php - MySQLi insert_id 事务后返回0

javascript - javascript onkeypress问题在文本框中仅输入数字

php - 使用德语时出现字母数字验证错误

forms - Symfony Doctrine - 如何生成 optgroup 选择表单

symfony - 以编程方式注销切换的用户

php - 在 Doctrine 2 中使用类表继承时 : how can one write a Native SQL Query that will return results from a child class?

php - 在 mysql 中使用内部连接和 concat() 操作查询问题

php - 仅当不存在时才插入