Spring4.0 的validation验证

来源:互联网 发布:吉首大学教务网络系统 编辑:程序博客网 时间:2024/06/06 18:35

在spring-mvc.xml中加入<mvc:annotation-driven validator="validator"/>

<!-- 以下validator ConversionService在使用mvc annotation时会自动注册 -->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>
<!-- 验证提示信息保存在国际化资源文件,默认使用classpath下的 ValidationMessages.properties -->
<property name="validationMessageSource" ref="messageSource"></property>
</bean>

<!-- 国际化消息资源配置,此处主要将beanValidation的消息查找委托给spring的messageSource -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:messages</value>
<value>classpath:org/hibernate/validator/ValidationMessages</value>
</list>
</property>
<property name="useCodeAsDefaultMessage" value="false"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="cacheSeconds" value="60"/>
</bean>


实体bean形式:

public class User extends SuperEntity {


    /**
     * 用户名
     */
@NotNull(message="{user.name.null}")
@Length(min=5,max=20,message="{user.name.length.illegal}")
    private String name;


    /**
     * 用户年龄
     */
    private Integer age;

在class路径下加入messages.properties文件:

#user
user.name.null=\u7528\u6237\u540D\u4E0D\u80FD\u4E3A\u7A7A
user.name.length.illegal=\u7528\u6237\u540D\u957F\u5EA6\u5FC5\u987B\u5728\u4E94\u5230\u4E8C\u5341\u4E4B\u95F4

原创粉丝点击