我想为这样的约束设置消息
import play.i18n.Messages;
public class User extends Model {
@Constraints.Required(message = @Messages.get("validation.required"))
private String login;
但它不起作用。
最佳答案
如果您想指定自定义验证消息,则必须首先在 conf
目录中创建一个名为 messages
的文件,其中包含您的自定义消息。请查看文档here
然后,假设您有一个如下所示的模型:
public class MyModel extends Model {
@Constraints.MaxLength(value = 4, message = "validation.limit")
@Constraints.Required
@Column(name = "column_name")
public String columnName;
}
messages
文件包含如下内容:
validation.limit=Please limit the input
validation.required=This field is required to fill
请注意,我用 message
值 "validation.limit"
和 messages
标记了 @Constraint.MaxLength
> 文件我用请限制输入
消息指定该值。
您可以找到:
如果您输入的
columnName
值的字符串长度大于4
,您将收到验证消息请限制输入
。 (对应于messages
文件中的键validation.limit
)如果您在
columnName
上提交空值,您将收到验证消息此字段需要填写
。请注意,validation.required
是@Required
注释的默认消息键。
希望它对你有用..;)
关于java - 如何从 i18n 获取自定义消息到模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16339925/