validator验证

呼延子安
2023-12-01

1、validation在springmvc中的配置信息如下

<!--配置校验器-->
    <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
        <!--hibernate-->
        <property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
        <!--不设置则默认为classpath下的ValidationMessages.properties-->
        <property name="validationMessageSource" ref="validatemessageSource"/>
    </bean>
    <bean id="validatemessageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
       <!--资源文件名-->
        <property name="basenames">
            <list>
                <value>classpath:config/CustomValidationMessages</value>
            </list>
        </property>
        <!--资源文件编码格式-->
        <property name="fileEncodings" value="utf-8" />
        <!--资源文件内容缓存时间,单位秒-->
        <property name="cacheSeconds" value="120"/>
    </bean>
<!--映射器和适配器 通过自动注入驱动方式
向适配器中注入自定义参数的绑定组件
校验器注入到处理器适配器中-->
<mvc:annotation-driven conversion-service="conversionService" validator="validator"></mvc:annotation-driven>

2、

CustomValidationMessages.properties文件

#添加校验错误提交信息
iterms.name.length.error=请输入1到30个字符的商品名称
iterms.price.isNull=请输入商品价格

3、在pojo类校验

 
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

public class Iterms {
    private Integer id;

/*  校验名称在1到30字符中间
    message是提示校验出错显示的信息
 */
    @Size(min=1,max=30,message ="{iterms.name.length.error}" )
    private String goodName;
/*
   非空校验
 */
    @NotNull(message="{iterms.price.isNull}")
 
  private  Integer price;

}


#添加校验错误提交信息
iterms.name.length.error=请输入1到30个字符的商品名称
iterms.price.isNull=请输入商品价格
 类似资料: