Playframework 在没有隐式FieldConstructor的情况下访问FieldElements

Playframework 在没有隐式FieldConstructor的情况下访问FieldElements,playframework,validation,Playframework,Validation,我们试图在定义表单验证/授权的错误消息时保持一致,但我们发现使用Play2.0的@Constraints等有点困难 我们想要的是能够访问每个错误(以及相关的i18n翻译),最好是通过错误对象。然而,这被证明是相当困难的,因为这些错误(至少来自@Constraint)被应用到ImplicitFieldConstructor中的i18n翻译中,我们实际上没有太多的访问权限 我们想知道的是,是否有一种方法可以访问表单中每个字段的所有FieldElement,而无需通过隐式FieldConstructo

我们试图在定义表单验证/授权的错误消息时保持一致,但我们发现使用Play2.0的@Constraints等有点困难

我们想要的是能够访问每个错误(以及相关的i18n翻译),最好是通过错误对象。然而,这被证明是相当困难的,因为这些错误(至少来自@Constraint)被应用到ImplicitFieldConstructor中的i18n翻译中,我们实际上没有太多的访问权限

我们想知道的是,是否有一种方法可以访问表单中每个字段的所有FieldElement,而无需通过隐式FieldConstructor?(毫无希望地尝试@helper.FieldElements)

当然,我们可以放弃整个@Constraints,只定义我们自己的验证器和验证方法,但这似乎有点违反直觉,因为我们想使用框架来实现它的价值

编辑:此外,我们尝试了以下方法:

    @for((key, value) <- loginForm.errors) {
        @value.get(0)
    }

@for((key,value)如果您有权访问要向其中添加验证的.java文件,则有一个选项限制您添加message=“Text”元素。这将更改显示的消息,而无需编写自己的自定义验证

@Required(message = "Your message here!")
public String someField;

我们确实这样做了,但这有点忽略了i18n翻译的要点,因为@Required中的消息必须是常量(因此我们不能使用@Messages.get(“”)。
@Required(message = "Your message here!")
public String someField;