Grails inList Constraint 在错误消息中获取 inList 映射的值

Grails inList Constraint get values of inList map in error message

我正在使用 inList 约束来验证值列表。而且我没有直接使用command/domain class来显示错误信息

例如:

name inList: ["Joe", "Fred", "Bob"]

如果名称不在列表中,错误消息显示为

Property [{0}] of class [{1}] with value [{2}] is not contained within the list [{3}]

相反,我想显示一条正确的消息,其值为 属性 的名称 class MyClass 的值 XYZ 不包含在列表 Joe、Fred、Bob 中。

而 MyClass 、 XYZ 和 List 值必须来自我用来验证的 cmd 对象。

请帮助如何显示此消息。

我得到了解决方案。

我可以从 cmd.errors.getRejectedValue() 中获取被拒绝的值,我可以从 cmd.constraints.name.inList

中获取值列表