由于本人在学习期间做登录注册的时候,需要给注册添加验证,研究很长时间也没想到什么方便快捷的方法

下面就是我自己看一些文档整理的思路,如有bug,欢迎指点!!!

首先: 下载连个验证依赖

 <dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId><version>1.1.0.Final</version></dependency><!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api 这个可以不下载 因为hibernate-validator里有这个功能--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.21</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><version>5.4.0.Final</version></dependency>

然后:在你的bean上写验证规则

userBean:

public class User {private Integer id;@NotBlank(message = "用户名不能为空")@Length(max = 6, min = 3, message = "长度在3-6之间")private String name;//用户名@NotBlank(message="{密码不能为空}")
//    @Pattern(regexp="/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,10}$/", message="密码必须是6~10位数字和字母的组合")private String password; //密码private Integer level; //等级private String des; //简介@Pattern(regexp="^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$", message="请输入正确的号码格式")private String tel; //电话private String address; //地址@Overridepublic String toString() {return "User{" +"id=" + id +", name='" + name + '\'' +", password='" + password + '\'' +", level=" + level +", des='" + des + '\'' +", tel='" + tel + '\'' +", address='" + address + '\'' +'}';}

其次:在你的controller上写注册信息

UserController:
在controller这个类里面的注册方法的bean上要注明valid 证明这个bean是需要被验证的,然后后面再接个ModelAttribute确定真正验证的bean的属性名,一般后面还要再接一个BindingResult,它会将错误信息赋值并且显示在jsp页面

这里的jsp页面省略

@Controller
public class UserController {@Resourceprivate UserService userService;@RequestMapping(value = "/")public String loginPage() {return "user/login";}@RequestMapping(value = "/registpage")public String registpage() {return "user/regist";}@RequestMapping(value = "/regist", method = RequestMethod.POST)public String regist(@Valid @ModelAttribute("user") User user, BindingResult result, ModelMap model, HttpServletRequest request) throws IOException {System.out.println(user);if (result.hasErrors()) {return "user/regist";} else {model.addAttribute("username", user.getName());if (user.getPassword().equals(request.getParameter("repassword"))) {userService.regist(user);System.out.println("用户注册: " + user.getName() + user.getPassword());}return "user/login";}}@ModelAttribute("user")public User getUser() {User user = new User();return user;}@RequestMapping(value = "/login")
//    @ResponseBodypublic String login(String name, String password, Model model) {User user = userService.login(name, password);if (user != null) {model.addAttribute(user);model.addAttribute("msg", "登录成功");return "blog/showBlog";} else {return "redirect:registpage";}
//        return user;}}

最后:在你的regist.jsp上写信息的响应

regist.jsp:

这个是局部显示错误信息

 <input type="text" name="name" class="form-control" id="name" placeholder="请输入用户名"><form:errors path="name" cssStyle="color: red"></form:errors>

这个是我自己的页面的显示错误信息

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";
%><%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><meta name="viewport" content="width=device-width, initial-scale=1"><title>注册页面</title><%--<link href="css/bootstrap.min.css" rel="stylesheet">--%><link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"><script src="js/jquery-3.2.1.js" type="text/javascript"></script>
</head>
<body><form:form action="regist" method="post" modelAttribute="user"><div class="container"><div class="col-md-4"><div class="form-group"><label for="name">用户名</label><input type="text" name="name" class="form-control" id="name" placeholder="请输入用户名"><form:errors path="name" cssStyle="color: red"></form:errors></div><div class="form-group"><label for="password">密码</label><input type="password" class="form-control" id="password" name="password" placeholder="请输入密码"><form:errors path="password" cssStyle="color: red"></form:errors></div><div class="form-group"><label for="repassword">重置密码</label><input type="password" class="form-control" id="repassword" name="repassword" placeholder="请再次输入密码"><%--<form:errors path="password" cssStyle="color: red">两次密码不一致</form:errors>--%></div><div class="form-group"><label for="tel">电话</label><input type="text" class="form-control" id="tel" name="tel" placeholder="请输入常用电话"><form:errors path="tel" cssStyle="color: red"></form:errors></div><div class="form-group"><label for="address">地址</label><input type="text" class="form-control" id="address" name="address" placeholder="请输入常用地址"></div><button id="btn" type="submit" class="btn btn-default">提交注册</button></div></div></form:form></body>

☺☺☺这样用注解写的验证就应该可以用了 ,如果有什么不完整,欢迎指教!!!☺☺☺

SSM框架下的注册验证相关推荐

  1. SSM框架下实现验证码图片验证功能(源码)

    SSM框架下实现验证码图片验证功能 背景图片资源路径 https://download.csdn.net/download/hero_qhz/10322064 一.首先,在pom里面加上需要用的资源j ...

  2. SSM框架下对信息执行修改操作时的信息弹窗回显以及对信息修改后对数据库的更新问题

    SSM框架下对信息执行修改操作时的信息弹窗回显以及对信息修改后的同步问题 概括 主要说一下前端的实现 概括 今天在做实训作业时,有个对数据信息进行修改的操作,要求点击修改按钮后弹出修改框,栏目中需要显 ...

  3. SSM框架下实现form表单提交的方式

    实现form表单的提交有多种方式,这里我们主要讲两种常用的. 注:此Demo是在SSM框架下完成的,数据库采用MySQL,关于ssm整合的相关知识,这里不做过多赘述.主要展示表单提交方式,暂不考虑代码 ...

  4. ssm框架下的文件上传和下载

    ssm下的文件上传和下载 1. 文件上传 1.1 文件上传需要的依赖 文件上传需要使用到 commons-fileupload 和 commons-io 两个 jar 包. <dependenc ...

  5. SSM框架实现登录注册功能

    刚刚写出来的SSM登录注册案例,网上随便翻一下都有 ,本篇直接上手,使用Maven工程搭建一个简单的SSM框架实现简单的登录注册,验证重名功能. 目录 项目结构图 持久层相关配置文件 applicat ...

  6. ZUI + SSM框架下数据表格的使用

    完成一个小项目,后端为SSM框架,前端使用了ZUI框架,下面记录了如何使用zui框架下的datagrid组件来实现传统页面下 1.加载数据 2.关键字搜索 3.按照字段排序 4.全选 常用功能的实现, ...

  7. SSM框架下分页的实现(封装page.java和List?)

    之前写过一篇博客  java分页的实现(后台工具类和前台jsp页面),介绍了分页的原理. 今天整合了Spring和SpringMVC和MyBatis,做了增删改查和分页,之前的逻辑都写在了Servle ...

  8. SSM框架下log4j的配置和使用

    2019独角兽企业重金招聘Python工程师标准>>> 一.引入相关包和依赖 我用的是pom文件的引入,我使用的是slf4j+log4j的方式,还有另一种方式为commons-log ...

  9. 浅谈SSM框架下实现简单登录界面

    SSM框架搭建结果 Login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8 ...

  10. SSM框架下后台数据库传送到前端jsp文件中

    SSM框架中后台存储在数据库中的数据,如何传送到前端中使用呢? 前提:SSM框架已经搭好: Category.xml中的SQL语句集已经写好 Category中的GetXX()和SetXX()方法也已 ...

最新文章

  1. boost::coroutine模块实现layout的测试程序
  2. 回顾线程的竞争机制-重量级锁
  3. [数据结构-严蔚敏版]P48栈的链式表示
  4. FTP服务器和客户端源代码编写问题(ftp server client source)
  5. REVERSE-PRACTICE-CTFSHOW-5
  6. 首师大2计算机考研分数线,2021考研分数线:首都师范大学2021年考研复试分数线...
  7. 如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量
  8. RAN adjusts schedule for 2nd wave of 5G specifications
  9. MySQL 基础操作
  10. Eclipse或者MyEclipse—在Eclipse或MyEclipse中的操作(2)
  11. coreldraw+排灯_CorelDRAW打造七彩灯泡
  12. java全局校验拦截器
  13. 够设计师用一辈子的25款经典英文字体
  14. 0x00000004 因果推理 —— 入门学习笔记
  15. 《可以量化的管理学》绪论
  16. 超融合兼顾医疗信创及 IT 云化转型的可行性分析
  17. html导出excel合并单元格,JS导出EXCEL,动态设置单元格格式,合并单元格(横向或纵向)等操作...
  18. Excel分组行转列(Power Query透视列,一维表转二维表)
  19. Mark(转载)古人读书十二法
  20. 技术分享 | 如何计算 MySQL 的 QPS/TPS

热门文章

  1. What is Dymola?---Dymola的特点和架构
  2. 秒懂!何凯明的深度残差网络PPT是这样的|ICML2016 tutorial
  3. 最全人工智能专业术语表(中英文对照)
  4. 如何自动翻译字幕文件(机翻)
  5. 助听器声音大了会不会对耳朵有影响
  6. 安卓app逆向破解脱壳教程
  7. 【移动安全基础篇】——26、两个简单app破解
  8. Unity3D 保姆级安装教程与收费方案和版本、下载地址,看不会算我输
  9. 沟通CTBS助×××系统巨头解决南北互通问题
  10. win10计算机用户账户和密码,win10改administrator账户密码的方法