springMVC validator的配置

 1.引入依赖

     <dependency>
      <groupId>javax.validation</groupId>
      <artifactId>validation-api</artifactId>
      <version>1.1.0.Final</version>
    </dependency>

    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-validator</artifactId>
      <version>5.4.2.Final</version>
    </dependency>

 2.dispatcher-servelt.xml配置

  <bean id="validator" 
          class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
        
        <property name="providerClass" value="org.hibernate.validator.HibernateValidator"/>
        <property name="validationMessageSource" ref="messageSource"/>
    </bean>
    <!-- 校验错误信息配置文件   -->
    <bean id="messageSource"
          class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <!-- 资源文件名,这里property的name为basenames所以错误信息的配置文件CustomValidationMessages省去后缀   -->
        <property name="basenames">
            <list>
                <value>classpath:CustomValidationMessages</value>
            </list>
        </property>
        <!-- 资源文件编码格式   -->
        <property name="fileEncodings" value="UTF-8" />
        <property name="defaultEncoding" value="UTF-8"/>
        <!-- 对资源文件内容缓存时间,单位秒   -->
        <property name="cacheSeconds" value="120" />
    </bean>

3.添加注释校检

4.在controller中使用

    @RequestMapping(value = "/add",method = RequestMethod.POST)
    public String add(@Validated User user, BindingResult br){
        if (br.hasErrors()){
            return "user/add";
        }
        users.put(user.getUsername(),user);
        return "redirect:/user/users";
    }
}

5.jsp展示

<sf:form method="post" modelAttribute="user">
    Username:<sf:input path="username"/><sf:errors path="username"/><br>
    Password:<sf:input path="password"/><sf:errors path="password"/><br>
    Age:<sf:input path="age"/><br>
    Sex:<sf:input path="sex"/><br>
    <input type="submit" value="添加用户"/>
</sf:form>

猜你喜欢

转载自blog.csdn.net/Moty12/article/details/82590358
今日推荐