SpringMVC 数据校验。(后台校验 hibernate validate).

1. 数据校验。(后台校验 hibernate validate).

  1. 引入jar包。

  1. 在相应的实体类中加入注解。

    1.  1 package com.zhiyou100.wc.bean;
       2
       3 import javax.validation.constraints.Pattern;
       4
       5 import org.hibernate.validator.constraints.Length;
       6 import org.hibernate.validator.constraints.NotEmpty;
       7
       8 public class Users {
       9     @NotEmpty(message="用户名不能为空")
      10     private String uname;
      11     @Length(min=6,max=12,message="密码长度在【6~12】之间")
      12     private String password;
      13     @Pattern(regexp="^((13[0-9])|(14[579])|(15([0-3,5-9]))|(16[6])|(17[0135678])|(18[0-9]|19[89]))\\d{8}$",message="手机格式不准确")
      14     private String phone;
      15
      16     public Users() {
      17         super();
      18     }
      19
      20     public String getUname() {
      21         return uname;
      22     }
      23
      24     public void setUname(String uname) {
      25         this.uname = uname;
      26     }
      27
      28     public String getPassword() {
      29         return password;
      30     }
      31
      32     public void setPassword(String password) {
      33         this.password = password;
      34     }
      35
      36     public String getPhone() {
      37         return phone;
      38     }
      39
      40     @Override
      41     public String toString() {
      42         return "Users [uname=" + uname + ", password=" + password + ", phone=" + phone + "]";
      43     }
      44
      45     public void setPhone(String phone) {
      46         this.phone = phone;
      47     }
      48
      49
      50 }
  2. 在控制层接受参数时。

 1 package com.zhiyou100.wc.controllter;
 2
 3 import java.util.HashMap;
 4 import java.util.List;
 5 import java.util.Map;
 6
 7 import javax.validation.Valid;
 8
 9 import org.springframework.stereotype.Controller;
10 import org.springframework.ui.Model;
11 import org.springframework.validation.BindingResult;
12 import org.springframework.validation.FieldError;
13 import org.springframework.web.bind.annotation.RequestMapping;
14 import org.springframework.web.bind.annotation.SessionAttributes;
15
16 import com.zhiyou100.wc.bean.Users;
17
18 @Controller
19 @RequestMapping("user")
20 @SessionAttributes(names= {"name","address"})//键名叫:name保存的作用域为session
21 public class UsersControllter {
22
23
24     @RequestMapping("register")
25     public String register(@Valid Users users,BindingResult br,Model model) {
26         if(br.hasErrors()) {
27             List<FieldError> fieldErrors= br.getFieldErrors();
28             Map<String,Object> errorMsg=new HashMap<>();
29             for(FieldError f:fieldErrors) {
30                 errorMsg.put(f.getField(), f.getDefaultMessage());
31             }
32             model.addAttribute("errorMsg", errorMsg);
33             return "forward:../register.jsp";
34         }
35
36         return "list";
37     }
38
39
40 }

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"
 2     pageEncoding="UTF-8"%>
 3 <!DOCTYPE html>
 4 <html>
 5 <head>
 6 <meta charset="UTF-8">
 7 <title>注册</title>
 8 </head>
 9 <body>
10     <!-- <a href="user/register.do?name=zs">链接到List.do</a> -->
11
12     <form action="/Springmvc-0904/user/register" method="post">
13     姓名:<input type="text" name="uname"/>${errorMsg.uname }<br>
14     密码:<input type="text" name="password"/>${errorMsg.password }<br>
15     手机:<input type="text" name="phone"/>${errorMsg.phone }<br>
16         <input type="submit" value="提交"/>
17     </form>
18
19 </body>
20 </html>

原文地址:https://www.cnblogs.com/banzhuanlaowang/p/11462660.html

时间: 2024-07-29 09:59:26

SpringMVC 数据校验。(后台校验 hibernate validate).的相关文章

登录(ajax提交数据和后台校验)

1.前台ajax数据提交 <form id="login_form" action="" method="POST">    <div class="login_frame" style="position:relative";>        <div class="login_gl" style="margin-top:35px;"&

springMVC(八)——数据校验(后台校验 hibernate validate).

数据校验(后台校验 hibernate validate) 1.首先要导入jar包 2.在相应的实体类中加入注解 package com.zhiyou100.zjc.bean; import javax.validation.constraints.Pattern; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.NotEmpty; public class

第5章—构建Spring Web应用程序—关于spring中的validate注解后台校验的解析

关于spring中的validate注解后台校验的解析 在后台开发过程中,对参数的校验成为开发环境不可缺少的一个环节.比如参数不能为null,email那么必须符合email的格式,如果手动进行if判断或者写正则表达式判断无意开发效率太慢,在时间.成本.质量的博弈中必然会落后.所以把校验层抽象出来是必然的结果,下面说下几种解决方案. 1.简单的校验Demo 依赖: <dependency> <groupId>javax.validation</groupId> <

SpringMVC-------3.文件上传,拦截器和数据校验(后台校验)

1.文件上传 1.1导入jar包 1.2设置表单提交属性 文件上传只允许表单为post提交,并且编码类型为multipart/form-data 1.3在springmvc中配置文件上传解析器. 其中的id名不能更改,否则报错 设置最大上传大小maxUploadSize 1.4 在控制层处理代码 @RequestMapping("upload") public String upload(MultipartFile myfile,HttpServletRequest request)

SpringMVC数据校验并通过国际化显示错误信息

目录 SpringMVC数据校验并通过国际化显示错误信息 SpringMVC数据校验 在页面中显示错误信息 通过国际化显示错误信息 SpringMVC数据校验并通过国际化显示错误信息 SpringMVC数据校验 <mvc:annotation-driven/>会默认装配好一个LocalValidatorFactoryBean,通过在处理方法的入参上标注@Valid 注解即可让Spring MVC在完成数据绑定后执行数据校验的工作. 首先,我们在实体类上标注JSR303校验注解 public c

MVC查询数据接收及校验

本来想写一篇aspx的TreeView控件绑值的文章的,在写案例的时候,写了一半,发现有些地方还得考虑以下,就留待下次了. 这一篇的话,是最近在开发一个项目的时候,有大量的页面和数据表,需要花式查询, 后台接收前台传递过来的数据的时候,被虐的欲仙欲死,大量的校验和重复代码, 后来找到了一种非常不错的方法,分享出来,下面是正文..... 使用过MVC的人都知道,它有一个非常方便的功能,就是自动绑值,先来一个最简单的: 1 public ActionResult Index(string userN

DWZ 自定义异常及后台校验

1.form表单提交弹出自定义异常 示例: <form id="pagerForm" method="post" action="后台访问地址" class="pageForm required-validate" onsubmit="return validateCallback(this,dialogAjaxDonereload)"></form> 项目中默认使用:validat

springmvc,通过ajax方式提交页面数据,后台返回json数据中文信息乱码

本人刚开始接触springmvc,项目搭建参照https://my.oschina.net/gaussik/blog/385697.在用IDEA写登录注册的时候,想通过ajax方式提交数据到后台,然后遇到如题所述的乱码问题,然后度娘了好多,终于解决了.废话不多说,直接上代码. 首先是登录页面login.jsp 1 <%-- 2 Created by IntelliJ IDEA. 3 User: PENG027 4 Date: 2016/11/11 5 Time: 15:48 6 To chang

c#代码实现GPS数据的有效性校验

用于校验GPS报文指令的有效性 很简单的代码,留存吧 public static bool Verify(string gpsInfo)         {            if (gpsInfo == null || "".Equals(gpsInfo))                return false; char p = gpsInfo[0];            char c = (char)0; int i = 1;            for (; i &l