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有助于验证此类型验证, 同样,如果使用输入不同的类型格式而不是日期。怎么样 我们处理它们并提供自定义错误消息。
答案 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!