基于mybatisPlus的特殊字符校验
基于 校验 特殊字符 MyBatisPlus
2023-09-27 14:27:24 时间
要实现以下代码前提是导入Mybatis-plus的jar:
* @author WENGKAIBO505 */ @Target({ElementType.FIELD, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Constraint(validatedBy=SpecialFieldValidator.class) public @interface SpecialField { String message() default "不能包含特殊字符"; Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {};
ackage com.paic.ocss.gateway.model.validator; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @author WENGKAIBO505 */ public class SpecialFieldValidator implements ConstraintValidator<SpecialField, String> { /** * 特殊字符的正则表达式 */ private String reg = "[_`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]|\\n|\\r|\\t"; private Pattern pt = Pattern.compile(reg); @Override public void initialize(SpecialField specialField) { // TODO Auto-generated method stub } @Override public boolean isValid(String value, ConstraintValidatorContext arg1) { if (value == null) { return true; } Matcher m = pt.matcher(value); if (m.find()) { return false; } return true; } }
相关文章
- 基于实际测试 7805,7809若干特性
- 【千兆以太网】基于FPGA的千兆以太网MIMO通信系统开发
- 【FPGA教程案例38】通信案例8——基于FPGA的串并-并串数据传输
- 一种基于增量中继与机会中继的协同通信技术matlab仿真
- 【Mask-RCNN】基于Mask-RCNN的目标检测和识别
- 【高阶累积量】基于高阶累积量的信噪比盲估计法的matlab仿真
- 基于MATLAB的数字调制方法
- 基于C++实现(控制台)校友录管理系统【100010421】
- 基于springboot整合的rabbitmq
- 基于Django的博客系统
- 「基于Django的全民健康智慧中医数字服务平台」后端应用Users设计思路
- 《数据分析实战:基于EXCEL和SPSS系列工具的实践》——3.2 用“逐步推进法”推测需要的数据
- 小鱼易连打造基于互联网环境下的高清视频会议终端