【问题标题】:Spring MVC Bean Validation --Data Type ValidationSpring MVC Bean验证——数据类型验证
【发布时间】:2015-03-24 15:01:54
【问题描述】:
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

哪些注释有助于验证这种类型验证, 同样,如果用户输入不同的类型格式而不是日期。如何 我们是否会处理它们并提供自定义错误消息。

【问题讨论】:

  • 您可以创建自己的@OnlyNumber

标签: spring spring-mvc bean-validation


【解决方案1】:

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

如果您想为该异常显示自定义消息,您可以做的是将 Spring 配置为使用 message.properties 文件并为 typeMismatch 指定“typeMismatch.user.age”消息或全局消息。

例如(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!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 2021-05-26
    • 2013-03-05
    • 1970-01-01
    • 2016-03-02
    • 2015-05-01
    相关资源
    最近更新 更多