目前我的应用中有2个实体,如下所示。两者都不可为空。
@Column(name = "name", nullable = false, unique = true)
@NotNull
@NotBlank
private String name;
@Column(name = "ldap", nullable = false)
@NotNull
@NotBlank
private String ldap;
当我使用数据发布时,无论是名称还是带有null的ldap字段,我都希望使用字段名称显示特定的非空消息。请告诉我,如何实现这一目标?
例如,
{
"name" : "check"
}
然后,错误消息应为ldap field should not be empty
答案 0 :(得分:0)
我认为你应该使用@NotNull
注释:
@Column(name = "name", unique = true)
@NotNull(message = "ldap field should not be null"
@NotBlank(message = "ldap field should not be empty"
private String ldap;
我通常使用@NotEmpty
代替@NotBlank
- 它也有消息属性。
答案 1 :(得分:0)
您需要执行几个步骤来实现自定义消息:
@Column
@NotNull(message = "error.title.notnull")
@Size(min = 1, max = 30, message = "error.title.size")
private String title;
@Column
@Size(max = 100, message = "error.description.size")
private String description;
因此,下一步是通过向SpringValidationApplication(主类)添加一个来创建MessageSource bean。
例如:
@Bean(name = "messageSource")
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageBundle = new ReloadableResourceBundleMessageSource();
messageBundle.setBasename("classpath:messages/messages");
messageBundle.setDefaultEncoding("UTF-8");
return messageBundle;
}
这告诉Spring查看messages的文件夹,查找以messages开头的文件。
接下来在src / main / resources / messages中添加一个名为messages.properties
的文件:
error.title.notnull=The title is a required field
error.title.size=The title should be between 1 and 30 characters
error.description.size=The description should be limited to 100 characters.
详情可在此link
上找到