我正在Spring框架中构建验证,并希望显示自定义(本地化)错误消息。例如:字段'重复密码'不能为空。
如何定义字段标签并将其作为参数传递给错误消息?
这是我的表单对象,带有一些验证约束
public class RegisterForm
{
@NotEmpty
@Email
private String email;
@NotEmpty
@Length( min=6, message = "{register.error.password.length.min}")
private String password;
@NotEmpty
private String repeatPassword;
}
我对 NotEmpty 约束的自定义消息是这样的:
NotEmpty=Field {0} cannot be empty
消息中的{0}将替换为字段名称( repeatPassword )。如何将字段标签(重复密码或密码wiederholen )传递给此邮件?
答案 0 :(得分:2)
我认为您不能手动将字段标签传递给邮件。但是,您可以在消息属性中指定标签,该标签将根据字段名称进行解析。
因此,在消息属性中,您将拥有NotEmpty
的自定义参数化文本以及每个字段名称的标签。
# Parameterized custom message
NotEmpty=Field {0} cannot be empty
# Field labels
email=Email
password=Password
repeatPassword=Repeat password
然后,完整的消息将被解析为Field Repeat password cannot be empty
等。
对于不同的标签翻译,您只需在特定于语言环境的属性文件中指定它们。