Springboot中使用了Hibernate-validate作为默认表单数据校验框架

在实体类上的具体字段添加注解

 public class User {
@NotBlank
private String name;
@NotBlank
private String password;
private Integer age;
//set、get方法......
}

在controller中开启校验

 @RequestMapper("/save")
public String saveUser(@Valid User user, BindingResult bindingResult) {
if(bindingResult.hasErrors()) {
//返回原来页面,模板引擎能拿到bindingResult中的error
return "add";
} else {
return "ok";
}
}

thymeleaf页面

 <html>
<head>
<meta charset="utf-8">
</head>
<body>
<form th:action="@{/save}" method="post">
用户姓名:<input type="text" name="name"/>
<font color="red" th:errors="${user.name}"></font><br/>
用户密码:<input type="password" name="password" />
<font color="red" th:errors="${user.password}"></font><br/>
用户年龄:<input type="text" name="age" />
<font color="red" th:errors="$user.age"></font><br/>
<input type="submit" value="ok">
</form>
</body>
</html>

首次打开此模板页面可能报错,因为需要user对象,于是在controller中这样写

 @RequestMapping("addUser")
public String showPage(@ModelAttribute("user") User user) {
return "add";
} @RequestMapping("save")
public String saveUser(@ModelAttribute("user") @Valid User user, BindingResult bindingResult) {
if(bindingResult.hasErrors()) {
return "add";
} else {
return "ok";
}
}

Hibernate-Validate常用校验规则

@NotBlank:判断字符创是否是null或者是空串(去掉首尾空格)。

@NotEmpty判断字符串是否为null会者是空串。

@Length判断字符的长度(最大或最小)

@Min判断数值最小值

@Max判断数值最大值

@Email判断邮箱是否合法

SpringBoot表单数据校验的更多相关文章

  1. [JavaScript] 实现简单的表单数据校验功能

    实现表单数据校验功能 因为项目用的UI库功能太少,表单不具备校验功能,所以自己写了一个,只有一个文件. 使用 import { required, email, useValidate } from ...

  2. 关于elementui表单数字校验踩坑记

    需求:1.输入类型是数字.2.数字大小有限制.3.非必填 做法: <el-form-item label="熟悉程度" prop="averageCaseRunTi ...

  3. 04004_使用JavaScript完成注册表单数据校验

    1.需求分析 (1)用户在进行注册的时候会输入一些内容,但是有些用户会输入一些不合法的内容,这样会导致服务器的压力过大,此时我们需要对用户输入的内容进行一个校验(前端校验和后台校验): (2)前端校验 ...

  4. Js:消息弹出框、获取时间区间、时间格式、easyui datebox 自定义校验、表单数据转化json、控制两个日期不能只填一个

    (function ($) { $.messageBox = function (message) { $.messager.show({ title:'消息框提示', msg:message, sh ...

  5. SpringMVC 接收表单数据、数据绑定、解决请求参数中文乱码

    接收表单数据有3种方式. 1.使用简单类型接收表单数据(绑定简单数据类型) 表单: <form action="${pageContext.request.contextPath}/u ...

  6. 表单数据验证方法(二)——ASP.NET后台验证

    昨天写了一下关于如何在前台快捷实现表单数据验证的方法,今天接着昨天的,把后台实现数据验证的方法记录一下.先说明一下哈,我用的是asp.net,所以后台验证方法也是基于.net mvc来做的. 好了,闲 ...

  7. Spring学习笔记2——表单数据验证、文件上传

    在上一章节Spring学习笔记1——IOC: 尽量使用注解以及java代码中,已经搭建了项目的整体框架,介绍了IOC以及mybatis.第二节主要介绍SpringMVC中的表单数据验证以及文件上传. ...

  8. SpringBoot入门 (十一) 数据校验

    本文记录学习在SpringBoot中做数据校验. 一 什么是数据校验 数据校验就是在应用程序中,对输入进来得数据做语义分析判断,阻挡不符合规则得数据,放行符合规则得数据,以确保被保存得数据符合我们得数 ...

  9. jQuery对的表单数据序列化和校验

    jQuery对的表单数据序列化和校验 表单序列化 如果想让表单通过ajax异步提交,那么首先我们要通过js获取到每个表单中输入的值,如果表单项比较多的话,是一件很麻烦,很痛苦的事情,那么我们可以通过j ...

随机推荐

  1. c# 使用序列化

  2. cdh-hbase用户无法执行命令

  3. servlet版本与tomcat版本对应关系,各版本web.xml头信息写法

    The mapping between the specifications and the respective Apache Tomcat versions is: Servlet Spec JS ...

  4. 190906mysql常用语法

    1.创删数据库: create database mydb; 复杂一点可以设置字符集和校对规则:create database mydb character set gbk collate gbk_c ...

  5. Zabbix监控平台-----深入理解zabbix

    一,Zabbix Web操作深入 (1)创建一个模版,所有的功能几乎都是在模版中定义的 点进新创建的模版查看,模版里几乎可以设定我们需要的所有功能 (2)在模版里创建应用集,应用集的作用就是将众多的监 ...

  6. evpp http response_http_code_

    response_http_code_  909 例子代码   evpp  代码内例子 注释 可以读一下

  7. Tomcat 安装配置

    操作系统:win10 家庭版 1. 官网下载 https://tomcat.apache.org/download-80.cgi 我下载的免安装装. 2.文件解压到目录 D:\Program File ...

  8. JS中map、some、every、filter方法

    简介 every()方法用于检测数组中所有元素是否都符合指定条件,若符合返回true,否则返回false:不会对空数组进行检测,不会改变原来的数组. some()方法用于检测数组中的元素是否有满足指定 ...

  9. mali tbr Forward Pixel Kill

    https://community.arm.com/cfs-file/__key/communityserver-blogs-components-weblogfiles/00-00-00-20-66 ...

  10. 关于创建Django表单Forms继承BaseForm的问题

    在创建Django表单时,因为需要验证用户输入的验证码是否正确,因此需要在session里提取当前验证码的值和POST提交过来的值进行比对,如图: form.py from django import ...