【发布时间】:2017-03-29 06:10:31
【问题描述】:
情况:我有一个基于实体的表单。这个实体有两个属性 country 和 staticRank 并且这两个属性的元组应该是唯一的...... 但是: staticRank could 不是必需的,因此,它可以为空。我尝试使用 UniqueEntity 注释解决该问题:
@UniqueEntity(fields={"country", "staticRank"})
这不像预期的那样工作,因为如果 staticRank 是 null 根据我的定义,它应该是一个有效的组合。但是,有几个元组具有相同的 country 和 null(对于 staticRank),因此约束说明了违规。
实际问题:有没有办法在不继承“UniqueEntityValidator”的情况下归档这种行为?
编辑:据我所知,约束的 ignoreNull 属性只允许两个值都为空(或者如果约束仅设置为单个字段)
【问题讨论】:
-
country 和 staticRank 实体是多对多关系还是只是实体的字段?
-
@Mawcel country 是 ManyToOne,staticRank 只是一个字段(都在同一个实体中使用)
-
@Mawcel 谢谢,这可以在 ORM 方面工作并且已经在我的代码中,但我正在寻找可以用来验证提交表单的东西。
标签: php symfony validation