zoukankan      html  css  js  c++  java
  • JSR303后端校验(一)

    JSR303后端校验(一)

    (1)在pom文件中添加依赖

        <!-- JSR303后端校验 -->
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
                <version>6.0.16.Final</version>
            </dependency>

    (2)在实体类中添加对应的校检规则

      private Integer id;
        
        @NotEmpty(message = "用户名不能为空")
        @Pattern(regexp="^\w{6,18}$",message="用户名必须由6到18位的数字字母或者下划线组成")
        private String name;
        
        @Length(min=6,max=32,message="密码必须为6到32位的字符串")
        private String password;
        
        @NotNull(message = "年龄不能为空")
        @Max(value = 110,message = "输入的年龄不合法")
        @Min(value=1,message = "输入的年龄不合法")
        private Integer age;
        
        @Pattern(regexp = "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$",message = "邮箱格式不正确")
        private String email;

    (3)在controller中使用校检规则

    @RequestMapping("/addStudent")
        public String addStudent(@Valid Student student,BindingResult result,ModelMap map) {
            if(result.hasErrors()) {
                List<FieldError> errors = result.getFieldErrors();
                for (FieldError fieldError : errors) {
                    System.out.println(fieldError);
                    System.out.println("字段:"+fieldError.getField()+",信息:"+fieldError.getDefaultMessage());
                    map.put(fieldError.getField(), fieldError.getDefaultMessage());
                    
                    if(fieldError.getField().equals("name")) {
                        map.put("name", fieldError.getDefaultMessage());
                    }
                    if(fieldError.getField().equals("password")) {
                        map.put("password", fieldError.getDefaultMessage());
                    }
                    if(fieldError.getField().equals("age")) {
                        map.put("age", fieldError.getDefaultMessage());
                    }
                    if(fieldError.getField().equals("age")) {
                        map.put("age", fieldError.getDefaultMessage());
                    }
                    if(fieldError.getField().equals("email")) {
                        map.put("email", fieldError.getDefaultMessage());
                    }
                }
            }else {
                studentService.addStudent(student);
            }
            return "student";
        }

    (4)页面提示

    <form action="addStudent" method="get">
        用户名:<input type="text" name="name"><span style="color:red">${name }</span><br>
        密码:<input type="text" name="password"><span style="color:red">${password }</span><br>
        年龄:<input type="text" name="age"><span style="color:red">${age }</span><br>
        邮箱:<input type="text" name="email"><span style="color:red">${email }</span><br>
        出生日期:<input type="date" name="borth"><br>
        <input type="submit" value="提交">
    </form>

     

  • 相关阅读:
    Debian Linux下如何以root账号登录桌面
    原 Debian设置开机自动启动与关闭
    Qt中使用QProcess备份和恢复Mysql数据库
    mysqldump 的一些使用参数
    Mysql导出表结构及表数据 mysqldump用法
    启动和启动和停止MySQL服务停止MySQL服务
    Debian中完全卸载MySQL
    dd,实现系统备份
    NeHe OpenGL教程 第十九课:粒子系统
    NeHe OpenGL教程 第十八课:二次几何体
  • 原文地址:https://www.cnblogs.com/wanerhu/p/11046673.html
Copyright © 2011-2022 走看看