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

网站开发工具设备要求青岛网站优化联系方式

网站开发工具设备要求,青岛网站优化联系方式,桂林东西巷,网站建设信息需求 新增接口 和 修改接口 中#xff0c;手机号码的格式校验是普遍需要的。 在每个手机号码字段上添加正则表达式校验注解来实现校验#xff0c;重复书写#xff0c;容易出错#xff1b;在不同的手机号码字段上#xff0c;可能使用了不同的校验规则#xff0c;无法有效…需求 新增接口 和 修改接口 中手机号码的格式校验是普遍需要的。 在每个手机号码字段上添加正则表达式校验注解来实现校验重复书写容易出错在不同的手机号码字段上可能使用了不同的校验规则无法有效统一校验规则。 目标 自定义一个用于校验手机号码格式的注解Phone能够和现有的 Validation 兼容使用方式和其他校验注解保持一致。 校验逻辑 有效格式 不能包含空格应为11位数字 不校验非空 手机号码校验的是格式不校验是否为空null 或 空字符串。如果手机号码为空直接通过校验 这样设计是为了将手机号码是否允许为空交给接口业务逻辑来决定因为在不同的业务逻辑中有时手机号码字段可以为空有时不能为空。 但是无论手机号码字段是否可以为空只要客户端传递了手机号码就应该保证格式是正确的。 Validation本身提供的Email注解也是这样的处理逻辑。 注手机号码使用字符串类型Integer类型装不下11位的数值。 核心代码 注解Phone package com.example.core.validation.phone;import javax.validation.Constraint; import javax.validation.Payload; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.Target;import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.RetentionPolicy.RUNTIME;/*** 字符串必须是格式正确的手机号码。正确格式为11位数字。* p* {code null} 或 空字符串是有效的能够通过校验。* p* 支持的类型字符串** author songguanxun* since 1.0*/ Target({FIELD}) Retention(RUNTIME) Documented Constraint(validatedBy PhoneValidator.class) public interface Phone {/*** return the error message template*/String message() default 手机号码格式错误;/*** return the groups the constraint belongs to*/Class?[] groups() default {};/*** return the payload associated to the constraint*/Class? extends Payload[] payload() default {};/*** 手机号码的详细描述。* p* 用于用户提示中当页面中存在多个手机号码时帮助用户更好的区分是哪个手机号码填错了。*/String description() default 手机号码; } 校验器PhoneValidator package com.example.core.validation.phone;import org.springframework.util.ObjectUtils;import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import java.util.regex.Pattern;/*** 手机号码格式校验器*/ public class PhoneValidator implements ConstraintValidatorPhone, String {// 手机号码的详细描述。private String description;Overridepublic void initialize(Phone constraintAnnotation) {ConstraintValidator.super.initialize(constraintAnnotation);description constraintAnnotation.description();}Overridepublic boolean isValid(String value, ConstraintValidatorContext context) {if (ObjectUtils.isEmpty(value)) {return true;}if (value.contains( )) {String message String.format(%s格式错误不能包含空格, description);resetMessage(context, message);return false;}if (!isPhone(value)) {String message String.format(%s格式错误, description);resetMessage(context, message);return false;}return true;}// 格式为11位数字private static final Pattern PATTERN Pattern.compile(^\\d{11}$);/*** 是手机号码*/private boolean isPhone(CharSequence input) {return PATTERN.matcher(input).matches();}/*** 重置提示信息*/private void resetMessage(ConstraintValidatorContext context, String messageTemplate) {context.disableDefaultConstraintViolation();context.buildConstraintViolationWithTemplate(messageTemplate).addConstraintViolation();}} 使用 Phone 放在需要校验格式的 手机号码 字段上。 新增用户Param package com.example.web.response.model.param;import com.example.core.validation.phone.Phone; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data;import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty;Data Schema(name 新增用户Param) public class UserAddParam {NotBlank(message 姓名不能为空)Schema(description 姓名, example 张三)private String name;PhoneNotEmpty(message 手机号码不能为空)Schema(description 手机号码, example 18612345678)private String phone;EmailSchema(description 电子邮箱, example zhangsanexample.com)private String email;} 编辑用户Param package com.example.web.response.model.param;import com.example.core.validation.phone.Phone; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data;import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty;Data Schema(name 编辑用户Param) public class UserEditParam {NotBlank(message 姓名不能为空)Schema(description 姓名, example 张三)private String name;Phone(description 编辑用户-手机号码)NotEmpty(message 手机号码不能为空)Schema(description 手机号码, example 18612345678)private String phone;EmailSchema(description 电子邮箱, example zhangsanexample.com)private String email;} 校验效果 输入包含空格 输入非数字 输入超过11位 指定 手机号码的详细描述
http://www.w-s-a.com/news/635576/

相关文章:

  • 专业论坛网站有哪些如何制作h5页面视频
  • 南京整站优化网站备案负责人一定要法人
  • 北京正规网站建设公司php网站开发实训感想
  • 织梦网站地图怎么做腾讯网站开发语言
  • 站长之家alexa排名wordpress html 标签
  • WordPress建站主机推荐工程公司的经营范围
  • 做网站要注意哪一点网站需求分析的重要
  • 设计作品网站怎么开网站
  • 上海网站开发制作建设网站的建设费用包括
  • 上海网站建设网站开发亚洲杯篮球直播在什么网站
  • 网站做seo第一步h5制作公司
  • 软件外包产业网络优化工程师是干嘛的
  • 怎么用服务器做局域网网站河西网站建设
  • 工业企业网站建设企业门户网站解决方案
  • 网站运营与管理论文网上商城都有哪些
  • 常德网站制作建设毕设电商网站设计
  • 西安企业模板建站福州+网站建设+医疗
  • 邹城市住房和建设局网站仙居网站建设贴吧
  • 为什么要用CGI做网站网站手机优化显示
  • 做袜子娃娃的网站做网站要学的东西
  • 类qq留言网站建设企业做网站公司
  • 如何查到网站建设三足鼎立小程序开发公司
  • 交互网站怎么做的wordpress ssl 错位
  • 公司宣传 如何做公司网站郑州做网站那
  • 衡阳市城乡建设协会官方网站免费游戏网站模板
  • 小程序怎么做优惠券网站合肥建站网站平台
  • 民制作网站价格株洲企业seo优化
  • 网站建设 岗位职责网站建设百度索引
  • 网站建设的内容下拉网站导航用ps怎么做
  • 怎样做p2p网站海口免费自助建站模板