springMVC结合hibernate validator校验数据

来源:互联网 发布:百雀羚vs欧莱雅 知乎 编辑:程序博客网 时间:2024/06/07 05:33

1、jar

    <dependency>          <groupId>org.hibernate</groupId>          <artifactId>hibernate-validator</artifactId>          <version>5.2.2.Final</version>      </dependency>    <dependency>         <groupId>org.slf4j</groupId>         <artifactId>slf4j-api</artifactId>         <version>1.7.7</version>    </dependency>    <dependency>         <groupId>org.slf4j</groupId>         <artifactId>slf4j-log4j12</artifactId>         <version>1.7.7</version>    </dependency>

spring-servlet.xml中加入

<mvc:annotation-driven/>

2、注册和注册成功jsp页面
regist.jsp

    <div style="margin: 0 atuo; padding-top: 100px; font-size: 18px;" align="center">        <form action="doRegist.html" method="post"><!--        enctype="multipart/form-data"  -->            <table>                <tr>                    <td><label >用户名:</label></td>                    <td><input type="text"  name="username" /></td>                    <td><font color="red">${usernameErr}</font></td>                </tr>                <tr>                    <td><label >密&nbsp;&nbsp;码:</label></td>                    <td><input type="password"  name="password" /></td>                    <td><font color="red">${passwordErr}</font></td>                </tr>                <tr>                    <td><label >年&nbsp;&nbsp;龄:</label></td>                    <td><input type="text"  name="age" /></td>                    <td><font color="red">${ageErr}</font></td>                </tr>                <tr>                    <td><label >姓&nbsp;&nbsp;名:</label></td>                    <td><input type="text"  name="name" /></td>                    <td><font color="red">${nameErr}</font></td>                </tr>                <tr>                    <td><label >邮&nbsp;&nbsp;箱:</label></td>                    <td><input type="text"  name="email" /></td>                    <td><font color="red">${emailErr}</font></td>                </tr>                <tr>                    <td colspan=2 align="center">                        <input type="submit" />                    </td>                </tr>            </table>        </form>     </div>

registSuccess.jsp

    <div style="margin: 0 atuo; padding-top: 100px; font-size: 18px; color : red;" align="center">        <h1>注册成功!</h1>    </div>

3、java类
User.java

    @NotEmpty(message = "用户名不能为空!")    private String username;    @Pattern(regexp="[0-9a-zA-Z]{6,30}", message = "密码为长度6-30数字字母或下划线!")    private String password;    @NotNull(message = "年龄不能为空!")    private Integer age;    @Length(min = 2, max = 20, message = "姓名长度在2-20之间")    private String name;    @Email(message="请填写正确的邮箱")    private String email;

UserController.java

    // 注册页面url    public static final String registUrl = "/WEB-INF/jsp/regist.jsp";    // 注册成功页面 url    public static final String registSuccUrl = "/WEB-INF/jsp/registSuccess.jsp";    ...    @RequestMapping(value = "regist")    public ModelAndView regist(){        return new ModelAndView(registUrl);// 视图    }    @RequestMapping(value = "doRegist")    public String doRegist(@Valid User user, BindingResult request, ModelMap moMap){        if(request.hasErrors()){            List<FieldError> errors = request.getFieldErrors();            for (FieldError error : errors) {                System.out.println("error field : " + error.getField() + " and error value : " + error.getDefaultMessage());                moMap.put(error.getField() + "Err", error.getDefaultMessage());            }            return registUrl;        }        return registSuccUrl;// 视图名    }
原创粉丝点击