当前位置: 首页 > news >正文

有做任务赚钱的网站有哪些/职业培训机构管理系统

有做任务赚钱的网站有哪些,职业培训机构管理系统,昆明经济技术开发区官方门户网站,网站建设资金申请报告Validator框架,,它的出现就是为了解决开发人员在开发的时候减少代码的,提升开发效率。它专门用来做接口的参数校验,比如:密码长度、是否为空等等。 在默认情况下:SpringBoot会引入hibernate validation机制…

Validator框架,,它的出现就是为了解决开发人员在开发的时候减少代码的,提升开发效率。它专门用来做接口的参数校验,比如:密码长度、是否为空等等。
在默认情况下:SpringBoot会引入hibernate validation机制来支持JSR-303验证规范。

SpringBoot的validator校验框架支持如下特征:

  • JSR303特征:JSR303是一项标准,只提供规范不提供实现。规定一些校验规范即校验注解。比如:@Null、@NotNull、@Pattern。这些类都位于:javax.validation.constraints包下。

  • hibernate validation特征:hibernate validation是对JSR303规范的实现并且进行了增强和扩展。并增加了注解:@Email、@Length、@Range等等。

  • Spring Validation:Spring Validation是对Hibernate Validation的二次封装。在SpringMvc模块中添加了自动校验器。并将校验信息封装到特定的类中。

常见的注解

JSR提供的校验注解:         
@Null   被注释的元素必须为 null    
@NotNull    被注释的元素必须不为 null    
@AssertTrue     被注释的元素必须为 true    
@AssertFalse    被注释的元素必须为 false    
@Min(value)     被注释的元素必须是一个数字,其值必须大于等于指定的最小值    
@Max(value)     被注释的元素必须是一个数字,其值必须小于等于指定的最大值    
@DecimalMin(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值    
@DecimalMax(value)  被注释的元素必须是一个数字,其值必须小于等于指定的最大值    
@Size(max=, min=)   被注释的元素的大小必须在指定的范围内    
@Digits (integer, fraction)     被注释的元素必须是一个数字,其值必须在可接受的范围内    
@Past   被注释的元素必须是一个过去的日期    
@Future     被注释的元素必须是一个将来的日期    
@Pattern(regex=,flag=)  被注释的元素必须符合指定的正则表达式    Hibernate Validator提供的校验注解:  
@NotBlank(message =)   验证字符串非null,且trim后长度必须大于0    
@Email  被注释的元素必须是电子邮箱地址    
@Length(min=,max=)  被注释的字符串的大小必须在指定的范围内    
@NotEmpty   被注释的字符串的必须非空    
@Range(min=,max=,message=)  被注释的元素必须在合适的范围内

spring使用validator

核心步骤概述
在spring框架框架的开发中,只需要两个步骤:

1:在需要校验的bean(entity)中的属性上增加对应注解

2:在springmvc的方法参数中的 entity中加Validated的注解即可。

3:使用全局统一异常处理捕获的验证失败的提示信息

第一步:在pom.xml添加依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId>
</dependency>

第二步:实体类上面结合注解使用

package com.kuangstudy.vo;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.*;
import java.util.Date;@Data
public class UserVo {@NotNull(message = "用户id不能为空")private Long userId;@NotBlank(message = "用户名不能为空")@Length(max = 20, message = "用户名不能超过20个字符")@Pattern(regexp = "^[\\u4E00-\\u9FA5A-Za-z0-9\\*]*$", message = "用户昵称限制:最多20字符,包含文字、字母和数字")private String username;@NotBlank(message = "手机号不能为空")@Pattern(regexp = "^[1][3,4,5,6,7,8,9][0-9]{9}$", message = "手机号格式有误")private String mobile;@NotBlank(message = "联系邮箱不能为空")@Email(message = "邮箱格式不对")private String email;@Future(message = "时间必须是将来时间")private Date createTime;
}

第三步:在需要校验的参数前面添加@Validated
一般是在控制器方法的入参校验

package com.kuangstudy.controller.validator;
import com.kuangstudy.common.base.R;
import com.kuangstudy.vo.UserVo;
import io.swagger.annotations.Api;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@Api(description = "用户校验")
@RequestMapping("/user")
public class UserValiatorController {@PostMapping("/valiator/reg")public UserVo createUser(@Validated UserVo userVo) {return userVo;}
}

通过前面的全局异常统一处理 + 统一返回 + 校验会得到如下的信息:
如果你校验失败,springmvc的validator内部会以异常的方式进行返回。报错异常:MethodArgumentNotValidException 而这个异常里面,包含所有的校验的提示信息。

http://www.lbrq.cn/news/1588393.html

相关文章:

  • 哪些做调查问卷挣钱的网站/手机百度账号登录入口
  • 买卖域名的网站好/电商运营是做什么的
  • 公司网站发展规划书/广点通投放平台
  • app展示网站模板免费下载/在线智能识图
  • dede 网站搬家/新浪nba最新消息
  • 毛概课程网站建设/营业推广是一种什么样的促销方式
  • 学网站开发学费多少/今日头条新闻最新事件
  • 网站建设报价套餐/seo 优化技术难度大吗
  • 建设项目经济评价网站/网络营销的职能有哪些
  • 微软网站设计/线上宣传渠道和宣传方式
  • 女生自己做网站/百度搜索风云排行榜
  • 微山做网站/地推接单平台
  • 自己做网站赚钱/seo教程网站优化推广排名
  • 郑州公司做网站/电商关键词一般用哪些工具
  • 苍南配网设计/aso关键词覆盖优化
  • 昆山建设银行网站首页/seo实战培训视频
  • 怎么用wordpress 建站/百度域名收录
  • 网站开设作风建设专栏/毕业设计网站
  • WordPress浮动导航插件/搜狗搜索引擎优化
  • 网站流量盈利模式/线上宣传方式
  • 新邵县住房和城乡建设局网站/国内建站平台
  • 企业一般用哪个erp系统/广州百度搜索排名优化
  • 新疆建设厅网站/seo关键词排名优化哪家好
  • 室内设计网站都有哪些平台/搜索引擎提交入口大全
  • 响应式网站制作/清理大师
  • 网站建设用苹果系统与liunx/品牌营销策划与管理
  • qml 网站开发/备案查询站长工具
  • 网站制作里的更多怎么做/seo1视频发布会
  • 阿里巴巴的网站怎么做的/搜索引擎优化搜索优化
  • 160 作者 网站建设 amp/aso搜索排名优化
  • DBeaver 25.1.0 转储数据库失败解决方案(适配最新版界面)
  • concurrentqueue:一个高并发高性能的C++无锁队列
  • 专题:2025财务转型与AI赋能数字化报告|附30+份报告PDF汇总下载
  • 快速搭建开源网页编辑器(vue+TinyMCE)
  • RabbitMQ-日常运维命令
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘caffe’问题