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

辽宁省电力建设网站3d效果图什么网站做的好

辽宁省电力建设网站,3d效果图什么网站做的好,鞍山58同城二手房出售,公司网站在哪备案spring boot项目对参数进行校验时,比如非空校验,可以直接用validation包里面自带的注解。但是对于一些复杂的参数校验,自带的校验规则无法满足要求,此时需要我们自定义参数校验规则。自定义校验规则和自带的规则实现方式一样&…

spring boot项目对参数进行校验时,比如非空校验,可以直接用validation包里面自带的注解。但是对于一些复杂的参数校验,自带的校验规则无法满足要求,此时需要我们自定义参数校验规则。自定义校验规则和自带的规则实现方式一样,先自定义一个注解,然后指定校验类,在校验类里实现具体的校验规则。

下面以校验手机号为例,来实现自定义参数校验规则。

首先定义一个注解,直接照着NotNull注解定义即可。

@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Documented
//这里的class就是实现具体校验规则的类
@Constraint(validatedBy = {MobileNoValidator.class})
public @interface MobileNo {String message() default "请输入正确的手机号";Class<?>[] groups() default {};Class<? extends Payload>[] payload() default {};}

然后定义实现具体校验规则的类,这个类要实现ConstraintValidator接口。

public class MobileNoValidator implements ConstraintValidator<MobileNo, String> {@Overridepublic boolean isValid(String value, ConstraintValidatorContext context) {if ((value == null)) {return false;}String regex = "^1\\d{10}$";Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);Matcher m = p.matcher(value);return m.matches();}
}

这样,很简单的两个类,就实现了自定义参数校验规则。当参数中加了MobileNo注解,如果输入的手机号不满足1打头的11位数字的规则,就会抛出异常信息。下面写个controller简单测试一下。

先定义一个vo。

public class UserVo {@NotNullprivate Long id;@NotNull@MobileNoprivate String mobileNo;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getMobileNo() {return mobileNo;}public void setMobileNo(String mobileNo) {this.mobileNo = mobileNo;}
}

再定一个controller。

@RestController
public class UserController {@PostMapping(value = "/test")public String test(@Validated @RequestBody UserVo userVo) {return "success";}
}

启动项目,用postman测试一下。

首先输入符合要求的手机号,这时是能正常返回success。

然后输入一个不符合要求的手机号,会返回400错误码,错误信息如下。当然这里返回的错误信息比较不友好,实际项目中可以对参数校验异常统一拦截,返回需要的数据格式。

http://www.yayakq.cn/news/924915/

相关文章:

  • 图片上传 网站建设教学视频晚上必看正能量网站短视频
  • 免费在线做高考试题的网站wordpress编辑空两格
  • 用vs2010做网站论文郴州网站制作公司电话
  • php网站开发说明文档制作一个网站怎么做的
  • 西安代做网站知名品牌vi设计案例分析
  • 山西定制网站建设电源网站关键词排行查询
  • 网站怎么做下载公司官网登录入口
  • 做网站需要提供哪些信息wordpress菜单不现实
  • 云南城乡建设网站做网站 怎么样找客户
  • 网站正在建设源代码众筹网站建设费用
  • 公司网站的建设要注意什么外贸上哪个网站开发客户
  • wordpress category order 失效seo营销技巧
  • 建设网站产品图片显示不全阿里云虚拟主机网站建设
  • 建筑工程网站哪个好wordpress相册插件中文版
  • 文山州建设局信息网站天元建设集团有限公司济南六公司
  • 自动发货网站怎么做wordpress同城插件
  • 广东网站建设企业商城网站建设公司地址
  • 做淘宝导购网站全屏网站 图片优化
  • mvc5网站开发实战详解做网站平台的注册什么商标
  • dw做的静态网站怎么分享链接seo标签优化方法
  • 做网站入什么会计科目wordpress 手动更新
  • 企业网站下载加查网站建设
  • 江苏工程建设信息网站关键词优化公司费用多少
  • 注册网站的公司名字小门户网站模版
  • 什么网站可以做十万的分期济南突然宣布
  • 2018做网站兰州网站制作
  • 免费建设钓鱼网站平台网站营销推广公司
  • 网站建设中图片尺寸制作一个简单的网站
  • 如何查看网站开发者建设网站用的软件
  • 泰州做网站wordpress 去除版本号