Spring MVC Bean验证 - 数据类型验证

时间:2015-03-24 15:01:54

标签: spring spring-mvc bean-validation

public class User {

 @NotNull(message="Age is Required")
 @Min(value = 18, message = "Age must be greater than or equal to 18")
 @Max(value = 150, message = "Age must be less than or equal to 150")
 private Integer age;

}

如果用户输入"字符串值"在年龄,我想验证它们,并应提供错误信息"年龄无效"。

@OnlyNumber(message = "Age is Invalid")  //Like This
  

哪种Annotation有助于验证此类型验证,   同样,如果使用输入不同的类型格式而不是日期。怎么样   我们处理它们并提供自定义错误消息。

1 个答案:

答案 0 :(得分:0)

没有Hibernate验证,因为Spring尝试将String值与Integer字段绑定时抛出异常。

如果要显示该异常的自定义消息,可以执行的操作是将Spring配置为使用message.properties文件并指定' typeMismatch.user.age' typeMismatch的消息或全局消息。

例如(Spring 3.2和Hibernate Validator 4.3),在servlet-config.xml

<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource"
p:basename="classpath:messages/messages">
</bean>

在src / main / resources / messages / messages.properties

typeMismatch = Invalid data format!