SpringMVC注释验证 - DataBinding数据类型

时间:2012-09-02 04:31:56

标签: java spring-mvc validation spring-annotations

在此方案下使用自定义验证时:

if(officer.getBadgeId() == 0){

        errors.rejectValue("badgeId", "badgeId.required");
}

如果POJO / Model官员对于badgeId的数据类型为int,则可以将字符串设置为属性的错误消息吗?或者,在执行验证并将错误消息返回到视图时,属性的数据类型无关紧要。

如果是一个问题,您如何处理这种情况或从自定义验证向用户返回错误消息

2 个答案:

答案 0 :(得分:3)

错误消息仅为String类型。

  

void rejectValue(String field,String errorCode, String   defaultMessage)
            使用给定的错误描述拒绝当前对象的给定字段。

Spring doc link.

答案 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类型的错误消息。