广告
返回顶部
首页 > 资讯 > 精选 >springboot表单提交之validator校验的实例分析
  • 621
分享到

springboot表单提交之validator校验的实例分析

2023-06-15 06:06:27 621人浏览 泡泡鱼
摘要

小编给大家分享一下SpringBoot表单提交之validator校验的实例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言表单提交是最常见的数据提交方式,

小编给大家分享一下SpringBoot表单提交之validator校验的实例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

前言

表单提交是最常见的数据提交方式,我们经常会填写表单信息,比如用户名,身份证,手机号等等,因此就会产生身份证是否合法,用户名是否为空,虽然我们可以直接在前台使用js就进行格式的校验,但如果使用postman工具直接发请求呢?使用我们后端也需要进行对数据的校验,这样极大的确保数据的安全性和合法性。

1.新建一个springboot项目,并且添加WEB依赖。下面是本项目的全部依赖

<dependencies>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-devtools</artifactId>            <scope>runtime</scope>        </dependency>        <!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->        <dependency>            <groupId>org.hibernate.validator</groupId>            <artifactId>hibernate-validator</artifactId>            <version>6.1.5.Final</version>        </dependency>        <dependency>            <groupId>org.projectlombok</groupId>            <artifactId>lombok</artifactId>            <version>1.18.12</version>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-test</artifactId>            <scope>test</scope>        </dependency>    </dependencies>

springboot表单提交之validator校验的实例分析

2.为了方便演示,我引入了Lombok,然后我们新建一个User类来模拟用户注册时提交的表单信息。

这里涉及到几个注解:

@NotEmpty(message=“用户名不能为空”)
@Length(min=6,max = 12,message=“用户名长度必须位于6到12之间”)
@Email(message=“请输入正确的邮箱”)
@Pattern(regexp = “正则表达式”, message = “身份证格式错误”)

User.java的代码:

package com.ctvit.validatordemo.pojo;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import org.hibernate.validator.constraints.Length;import javax.validation.constraints.Email;import javax.validation.constraints.NotEmpty;import javax.validation.constraints.Pattern;import java.io.Serializable;@Data@AllArgsConstructor@NoArgsConstructorpublic class User implements Serializable {    @NotEmpty(message="用户名不能为空")    @Length(min=6,max = 12,message="用户名长度必须位于6到12之间")    private String userName;    @NotEmpty(message="密码不能为空")    @Length(min=6,message="密码长度不能小于6位")    private String passWord;    @Email(message="请输入正确的邮箱")    private String email;    @Pattern(regexp = "^(\\d{18,18}|\\d{15,15}|(\\d{17,17}[x|X]))$", message = "身份证格式错误")    private String idCard;}

3.然后书写一个简单的控制器来进行模拟访问:

package com.ctvit.validatordemo.controller;import com.ctvit.validatordemo.pojo.User;import org.springframework.validation.BindingResult;import org.springframework.validation.ObjectError;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RestController;import javax.validation.Valid;import java.util.List;@RestControllerpublic class UserController {    @PostMapping("/ReGISter")    public String Register(@Valid User user, BindingResult bindingResult){//一个BindingResult对应一个@Valid注解的参数,用来表示校验消息        StringBuffer stringBuffer = new StringBuffer();//使用StringBuffer拼接错误信息,比如用户名为空,长度等        if(bindingResult.hasErrors()){//判读是否携带错误信息            List<ObjectError> list =bindingResult.getAllErrors();//获取所有错误信息对象            for (ObjectError objectError:list) {//遍历对象,获取错误的具体信息                //将所有信息进行拼接                stringBuffer.append(objectError.getDefaultMessage());                stringBuffer.append("---");            }        }        return stringBuffer!=null?stringBuffer.toString():"";//将错误信息返回    }}

4.这里涉及到一个接口:BindingResult。

方法名作用
hasErrors()判断当前参数是否符合
getAllErrors()获取错误信息对象
getDefaultMessage()获取错误信息

springboot表单提交之validator校验的实例分析
springboot表单提交之validator校验的实例分析

输入一半正确的,一般错误的:

springboot表单提交之validator校验的实例分析

都正确的数据:

springboot表单提交之validator校验的实例分析

以上是“springboot表单提交之validator校验的实例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: springboot表单提交之validator校验的实例分析

本文链接: https://www.lsjlt.com/news/278557.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • springboot表单提交之validator校验的实例分析
    小编给大家分享一下springboot表单提交之validator校验的实例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言表单提交是最常见的数据提交方式,...
    99+
    2023-06-15
  • springboot表单提交之validator校验
    前言 表单提交是最常见的数据提交方式,我们经常会填写表单信息,比如用户名,身份证,手机号等等,因此就会产生身份证是否合法,用户名是否为空,虽然我们可以直接在前台使用js就进行格式的校...
    99+
    2022-11-12
  • JS中表单提交验证的示例分析
    这篇文章将为大家详细讲解有关JS中表单提交验证的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在进行表单提交时,需要对输入框和文本域等的value的合理性进行验证...
    99+
    2022-10-19
  • vue中vee validate表单校验的示例分析
    这篇文章主要为大家展示了“vue中vee validate表单校验的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue中vee validate表单校...
    99+
    2022-10-19
  • angular4中关于表单校验的示例分析
    这篇文章给大家分享的是有关angular4中关于表单校验的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、使用响应式表单的步骤1、在模块(一般是app.module.t...
    99+
    2022-10-19
  • jquery表单提交的方法实例分析
    这篇文章主要介绍“jquery表单提交的方法实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“jquery表单提交的方法实例分析”文章能帮助大家解决问题。 ...
    99+
    2022-10-19
  • Ajax提交form表单的示例分析
    这篇文章给大家分享的是有关Ajax提交form表单的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。ajax (ajax开发) AJAX即“Asynchronous Jav...
    99+
    2022-10-19
  • SpringBoot+Redis实现后端接口防重复提交校验的示例
    目录1 Maven依赖2 RepeatedlyRequestWrapper3 RepeatableFilter4 RepeatSubmit5 ...
    99+
    2022-11-12
  • vue组件表单数据回显验证及提交的示例分析
    这篇文章主要介绍vue组件表单数据回显验证及提交的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!最近项目需要到vue开发单页面,所以就研究一下表单数据的回显,验证及提交如何用...
    99+
    2022-10-19
  • vue表单提交防双/多击的示例分析
    这篇文章主要介绍vue表单提交防双/多击的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先说下出现场景:测试这次比较极端(也有可能是测试又学会什么新知识了,哈哈),说是在点击...
    99+
    2022-10-19
  • Vue elementUI表单嵌套表格并对每行进行校验的示例分析
    这篇文章主要介绍Vue elementUI表单嵌套表格并对每行进行校验的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果展示先看看这是不是需要的效果^_^如图,ElementUI 表单里嵌套了表格...
    99+
    2023-06-22
  • jQuery表单验证之密码确认的示例分析
    这篇文章给大家分享的是有关jQuery表单验证之密码确认的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。代码:<!DOCTYPE html> <...
    99+
    2022-10-19
  • JS中from表单序列化提交的示例分析
    这篇文章主要介绍了JS中from表单序列化提交的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体代码如下所示:// --...
    99+
    2022-10-19
  • ng-alain动态表单SF表单项设置必填和正则校验的示例分析
    这篇文章将为大家详细讲解有关ng-alain动态表单SF表单项设置必填和正则校验的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在使用动态表单时对表单项进行非空校...
    99+
    2022-10-19
  • Ajax提交表单页面刷新很快的示例分析
    这篇文章主要为大家展示了“Ajax提交表单页面刷新很快的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ajax提交表单页面刷新很快的示例分析”这篇文章吧...
    99+
    2022-10-19
  • 微信小程序之表单提交与PHP后台数据交互处理的示例分析
    这篇文章给大家分享的是有关微信小程序之表单提交与PHP后台数据交互处理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:【form表单提交】form.wxml:&...
    99+
    2022-10-19
  • JQuery中form表单提交前验证单选框是否选中、删除记录时验证的示例分析
    这篇文章主要为大家展示了“JQuery中form表单提交前验证单选框是否选中、删除记录时验证的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JQuery...
    99+
    2022-10-19
  • MVVMLight项目之绑定在表单验证上的应用示例分析
    目录常见的表单验证机制有如下几种:验证交互的关系模式如图:下面详细描述下这三种验证模式  1、Exception 验证:2、ValidationRule 验证:3...
    99+
    2022-11-13
  • 微信小程序中form表单提交和取值的示例分析
    这篇文章主要介绍了微信小程序中form表单提交和取值的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序中form 表单提交和...
    99+
    2022-10-19
  • JavaScript正则表达式校验与递归函数实际应用的示例分析
    小编给大家分享一下JavaScript正则表达式校验与递归函数实际应用的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作