【问题标题】:Symfony 2 Validation Constraint for Foregin Key外键的 Symfony2 验证约束
【发布时间】:2015-11-11 00:01:13
【问题描述】:

我正在构建一个 Restful API,其中“userId”/“addressId”是 POST/PUT(在其他文件之间),这些字段是数据库中的外键。

我的问题是关于 Symfony 验证组件,因为我想验证这些 id 是否有效。

我认为,这需要是一个“Doctrine”验证器,因为它需要查询相关表。

我检查了现有的验证器,似乎它们都没有涵盖这种情况,实际上它只是一个 Doctrine 验证器(UniqueEntityValidator)

我在这个阶段正在编写一个自定义验证器。但有没有其他人发现同样的问题?是否没有任何标准的 Symfony/Doctrine 验证器可用于这种情况?

【问题讨论】:

  • 验证 ID 是否有效是什么意思?你的意思是检查参照完整性?
  • 是的,确切地说,这些 id 是数据库中的 FK,正如你所说,我想在验证过程中检查引用完整性。
  • 你在使用 Doctrine ORM 吗?如果是,您能否也发布您的实体代码?

标签: php symfony doctrine-orm


【解决方案1】:

您不必编写自定义验证器。 Symfony 已经有一个对象验证功能。您需要将type 选项设置为您要验证的实体的全名。

# src/AppBundle/Resources/config/validation.yml
AppBundle\Entity\User:
    properties:
        address:
            - Type:
                type: AppBundle\Entity\Address

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 2015-02-13
    • 1970-01-01
    • 2013-11-15
    • 2018-11-23
    相关资源
    最近更新 更多