在此方案下使用自定义验证时:
if(officer.getBadgeId() == 0){
errors.rejectValue("badgeId", "badgeId.required");
}
如果POJO / Model官员对于badgeId的数据类型为int,则可以将字符串设置为属性的错误消息吗?或者,在执行验证并将错误消息返回到视图时,属性的数据类型无关紧要。
如果是一个问题,您如何处理这种情况或从自定义验证向用户返回错误消息
答案 0 :(得分:3)
错误消息仅为String
类型。
void rejectValue(String field,String errorCode, String defaultMessage)
使用给定的错误描述拒绝当前对象的给定字段。
答案 1 :(得分:0)
这是来自http://alasdoo.com/2011/07/data-validation-conversion-basics-custom-error-messages-in-spring-mvc/
的示例if (user.getBirthYear()!=null)
if ( user.getBirthYear() <MINI_YEAR || user.getBirthYear() >MAX_YEAR)
e.rejectValue( "birthYear", "user.birthYear.outOfInterval");
}
在这里,您可以看到birthYear是一个日期类型,它返回一个存储在message.properties文件中的String类型的错误消息。