博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC10数据验证
阅读量:7072 次
发布时间:2019-06-28

本文共 3668 字,大约阅读时间需要 12 分钟。

在之前的案例上面! 引入需要的验证jar包

 

创建index.jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'index.jsp' starting page    
年龄:
${ageE}
姓名:
${userNameE}
电话:
${phoneE}

对应的Student类

import javax.validation.constraints.Max;import javax.validation.constraints.Min;import javax.validation.constraints.NotNull;import javax.validation.constraints.Pattern;import javax.validation.constraints.Size;import org.hibernate.validator.constraints.NotBlank;/** *  * @NotNull   作用在基本数据类型上 * @NotBlank  作用在String上 * @NotEmpty  作用在集合上 *  @Min  最小值 *  @Max  最大值 *  @Size  字符串的长度 * @Pattern  自定义验证规则  *  */public class Student {      @NotNull(message="年龄不能为空")      @Min(value=0,message="年龄不能低于{value}")      @Max(value=150,message="年龄不能高于{value}")      private  Integer  age; //年龄      @NotBlank(message="姓名不能为空")      @Size(min=6,max=10,message="长度必须在{min}---{max}之间")      private  String  userName;  //姓名      @NotBlank(message="手机号不能为空")      @Pattern(regexp="^1[345789]\\d{9}$",message="手机格式不正确")      private  String  phone;  //电话          public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }    public String getUserName() {        return userName;    }    public void setUserName(String userName) {        this.userName = userName;    }    public String getPhone() {        return phone;    }    public void setPhone(String phone) {        this.phone = phone;    }    public Student(Integer age, String userName, String phone) {        super();        this.age = age;        this.userName = userName;        this.phone = phone;    }    public Student() {        super();    }           }

对应的controller

import org.springframework.stereotype.Controller;import org.springframework.validation.BindingResult;import org.springframework.validation.annotation.Validated;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.servlet.ModelAndView;import sun.util.calendar.BaseCalendar;import cn.bdqn.bean.Student;@Controller@RequestMapping("/student")public class StudentController  {        /**     *      *@Validated  :会对student对象中所有标注 注解的属性进行验证!     *BindingResult:如果 验证出现错误 ,就会把错误信息给这个result     *     *result.getFieldError("age").getDefaultMessage()     *获取我们设置的错误 信息!     *     */    @RequestMapping("/addStudent")    public ModelAndView  addStudent(@Validated Student student,BindingResult result) {        System.out.println("进入了  addStudent");        ModelAndView mv=new ModelAndView();        if (result.hasErrors()) {  //出现了验证错误            if (result.getFieldError("age")!=null) {  //证明age验证有错误                mv.addObject("ageE", result.getFieldError("age").getDefaultMessage());            }            if (result.getFieldError("userName")!=null) {  //证明userName验证有错误                mv.addObject("userNameE", result.getFieldError("userName").getDefaultMessage());            }            if (result.getFieldError("phone")!=null) {  //证明phone验证有错误                mv.addObject("phoneE", result.getFieldError("phone").getDefaultMessage());            }            mv.setViewName("/index.jsp");            return   mv;        }        mv.setViewName("/success.jsp");       return   mv;    }                }

xml文件

 

转载于:https://www.cnblogs.com/xtdxs/p/7097384.html

你可能感兴趣的文章
oracle O7_DICTIONARY_ACCESSIBILITY 参数
查看>>
C++ Flash之间本地通讯
查看>>
C#.net数据库访问及其操作类
查看>>
微软大中华区副总裁:全线投入云计算领域
查看>>
Paste JSON as Code • quicktype 软件的使用
查看>>
禁用USB总集
查看>>
开始博客之旅
查看>>
DBCC SHRINKFILE 为什么会运行很长时间?
查看>>
实现负载均衡LVS 三种方式配置实例
查看>>
Servlet 工作原理解析
查看>>
jbuilder 2008
查看>>
浅谈CSRF***方式
查看>>
模拟DOTA小游戏
查看>>
Python----Day1
查看>>
WEB架构师成长之路之一-走正确的路
查看>>
批量管理服务器,批量分发文件
查看>>
我的友情链接
查看>>
无人永生--杂谈架构
查看>>
Spring4.x所有Maven依赖
查看>>
头文件和宏
查看>>