zoukankan      html  css  js  c++  java
  • spring mvc 数据校验(bean实体注解实现)

    spring mvc 数据校验

    1.添加个jar (jar与一版本会冲突)

    <dependency>
    <groupId>com.fasterxml</groupId>
    <artifactId>classmate</artifactId>
    <version>1.0.0</version>
    </dependency>
    <dependency>
    <groupId>org.jboss.logging</groupId>
    <artifactId>jboss-logging</artifactId>
    <version>3.3.0.Final</version>
    </dependency>
    <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>5.4.1.Final</version>
    </dependency>
    <dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>1.1.0.Final</version>
    </dependency>

    2.配置springmvc.xml

    <!-- 配置springMVC数据校验 -->
    <mvc:annotation-driven validator="validator"/>
    <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
    <property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>
    </bean>

    3.测试,注解用法,(@Valid,BindingResult,@pattern regexp) (课时3:29分)

    @RequestMapping(value = "/login", method = RequestMethod.POST)
    @ResponseBody
    public ResultMessage login(@Valid Login login,BindingResult errorResult){
    boolean flag= errorResult.hasErrors();
    String sb = "";
    if(flag) {
    List<FieldError> errorList = errorResult.getFieldErrors();
    for(FieldError fieldError: errorList) {
    //String field = fieldError.getField();
    String fieldErrorMessage=fieldError.getDefaultMessage();
    sb=fieldErrorMessage+",";
    }
    return Utils.renderResultMessageError(sb);
    }

    @Valid Bean

    BindingResult errorResult

    /**
    * @Eamil(message="对不起邮箱输入有误")
    * @Pattern(regexp="[\u4e00-\u9fa5]{4,10}",message="名称必须是4-10位的汉字")
    * @Max(value=100,message="")
    * @Min(value=1,message="")
    */

    /**
    * 登录名
    */
    @NotNull(message="不能为Null")
    @NotBlank(message="不能为空格")
    @NotEmpty(message="不能为空")
    @Pattern(regexp="[\w{2,10}]",message="输入的登录名有误2-10位,请重新输入")
    private String loginId;

    /**
    * 密码
    */
    @NotNull(message="不能为Null")
    @NotBlank(message="不能为空格")
    @NotEmpty(message="不能为空")
    @Pattern(regexp="[\w{3,6}]",message="密码必须为3-6数字或字母或下划线的组合")
    private String pass;

  • 相关阅读:
    ryu 下发流表配置
    openstack kolla 部署---不同的节点采用不同的物理接口
    kolla 安装
    Ubuntu add-apt-repository: command not found
    大前端发展趋势
    这些优化技巧可以避免我们在 JS 中过多的使用 IF 语句
    asap异步执行实现原理
    为什么 JS 对象内部属性遍历的顺序乱了
    你可能忽略的 async/await 问题
    深入浅出JS原型链
  • 原文地址:https://www.cnblogs.com/gzhbk/p/9492181.html
Copyright © 2011-2022 走看看