千家信息网

如何理解表单校验的技术落地

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要介绍"如何理解表单校验的技术落地",在日常操作中,相信很多人在如何理解表单校验的技术落地问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何理解表单校验的技术
千家信息网最后更新 2025年01月21日如何理解表单校验的技术落地

这篇文章主要介绍"如何理解表单校验的技术落地",在日常操作中,相信很多人在如何理解表单校验的技术落地问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何理解表单校验的技术落地"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一 : 概述

  • 在进行表单提交时,一般会对参数进行校验,及时返回给用户进行提示,使用户能够正确输入

  • 我们采用 Validator + BindResult

二 : 校验规则

  • Validator 可以非常方便的制定校验规则,并自动帮你完成校验。

(一) 添加依赖

  • pom.xml

        org.springframework.boot    spring-boot-starter-validation


(二) 注解说明

  • 基本类型的包装类

    • @Null : 限制必须为 null , 任何非基本数据类型都可以校验

    • @NotNull : 限制必须不为 null , 基本类型的包装类可以使用, 但字符串 "", 和 " " 都会通过

    • @Max(value) : 限制必须为一个不大于指定值的数字

    • @Min(value) : 限制必须为一个不小于指定值的数字

    • @DecimalMax(value) : 限制必须为一个不大于指定值的数字

    • @DecimalMin(value) : 限制必须为一个不小于指定值的数字

    • @Digits(integer,fraction) : 限制必须为一个小数,且整数部分的位数不能超过integer,小数部分的位数不能超过fraction

    • @Range(min=,max=,message=) : 被注释的元素必须在合适的范围内

  • 日期类型

    • @Future : 限制必须是一个将来的日期

    • @Past : 限制必须是一个过去的日期

  • 字符串

    • @Pattern(value) : 限制必须符合指定的正则表达式

    • @Size(max,min) : 限制字符长度必须在min到max之间, 也可以用于校验集合

    • @NotBlank(message =) : 验证字符串非null,且长度必须大于0 很适合String 参数验证

    • @Email : 被注释的元素必须是电子邮箱地址

    • @Length(min=,max=) : 被注释的字符串的大小必须在指定的范围内

    • @NotEmpty : 被注释的字符串的必须非空

三 : 修改实体类

  • 首先在入参里需要校验的字段加上注解,每个注解对应不同的校验规则,并可制定校验失败后的信息:

    @Datapublic class EmployeeForm {    private Integer id;    @NotEmpty(message = "员工姓名不能为空")    private String name; //姓名    @NotEmpty(message = "员工性别不能为空")    private String sex; //性别    @Past(message = "员工生日必须早于当天")    private Date birthday; //生日    @NotEmpty(message = "员工电话不能为空")    private String telephone; //电话    @NotEmpty(message = "用户名不能为空")    private String username; //用户名    @NotNull(message = "员工所属部门不能为空")    private Integer deptFk; //部门id    private String remark; //备注}


四 : 接受并校验

  • 只需要在 controller 中需要校验的接口上添加 @Validated 即可

    @PostMappingpublic R save(@RequestBody @Validated EmployeeForm employeeForm){    employeeService.save(employeeForm);    return R.ok();}


五 : 定义异常处理

  • 编写全局异常处理器

    @Slf4j@RestControllerAdvicepublic class GlobalExceptionHandler {    @ExceptionHandler(BindException.class)    public R error(BindException e){        e.printStackTrace();        return R.error().message(e.getBindingResult().getAllErrors().get(0).getDefaultMessage());    }}

到此,关于"如何理解表单校验的技术落地"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

限制 字符 表单 员工 字符串 技术 落地 数字 注释 用户 类型 学习 日期 注解 规则 位数 元素 参数 姓名 小数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 厦门地铁网络安全主题专列 河南飞普网络技术有限公司简介 网络安全演练阶总结 金联互联网科技有限公司 知乎网络安全教育平台 软件开发一年多少学费 基于构件的软件开发基本流程 百度文库是权威的专业数据库 小程序如何选择服务器运营商 爱立信软件开发 手机云数据库可以删吗 崇明区自动化软件开发推荐咨询 郭跃强的网络安全 软件开发模型 图片 谈谈对软件开发的体会 软件开发首选青岗科技 重庆邮电大学网络安全专业学什么 是一组具有相同数据库 软件开发外包开发公司违约 酒店网络安全管理资料 洛阳市网络安全教育平台 书店网络安全责任制度 在数据库技术中数据进行抽象 wind金融数据库有哪些数据 在家怎么登录公司的数据库 想在公安搞网络安全 物联网日志 数据库 天下拉手网络技术有限公司 服务器启动整个程序 光纤网络技术的商业价值
0