gpt4 book ai didi

grails - 具有父/子继承关系的Grails i18n验证错误消息

转载 作者:行者123 更新时间:2023-12-02 14:12:57 25 4
gpt4 key购买 nike

可以说我有一个类。此人有两个 child 生成器 Doctor
Person类带有用户名属性(通常如此)。当然,通过继承,Builder和Doctor类也具有用户名。

现在,我要美化i18n验证消息。我添加以下想法,它将适用于我所有的3个类(class)

person.email.blank=Email is required

但是在验证子类的对象时未使用它。如果我添加以下内容
doctor.email.blank=Email is required
builder.email.blank=Builder is required

我得到了预期的结果,但似乎并没有达到预期的干燥程度。
有没有人对此有任何想法。也许我只是做错了什么!

最佳答案

我能够通过使用自定义验证程序和所有必需消息的一条消息来实现此目的。

在属性文件中:

default.isRequired= {3} is required
email=Email
otherProperty=Other property

在域类中:
email validator: {val, obj -> obj.isRequiredValidator(val, "email") }
email validator: {val, obj -> obj.isRequiredValidator(val, "otherProperty") }

private isRequiredValidator(val, key) {
if (!val)
return [default.isRequired, messageSource.getKey(key)]
}

调用validate()之后的结果将为“需要电子邮件”和“其他属性是必需的”

您可以通过在域类之间共享自定义验证器方法来重用该方法。

关于grails - 具有父/子继承关系的Grails i18n验证错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11880951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com