# EValidator **Repository Path**: dqhm/evalidator ## Basic Information - **Project Name**: EValidator - **Description**: 字段校验规则 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2021-05-07 - **Last Updated**: 2023-02-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EValidator ### 背景描述 由于本人在工作当中负责过几次excel导入的工作,在完成工作的过程中,频繁遇到需要对导入数据进行校验,使用传统的if去进行判断,会使得代码难于维护且缺乏灵活性,故想自己开发一款能复用,且灵活的插件; ### 介绍 字段校验规则,主要用于导入数据字段的简单校验,也可以用来校验接口入参的规范,目前已实现的校验规则有 - 验证时间不能早于指定时间 - 验证时间不能迟于指定时间 - 验证日期格式 - 验证任一必填 - 验证值是否在指定范围中 - 验证必填 - 验证数字 - 验证长度 - 验证用户名 - 验证密码 - 验证手机号 - 验证邮箱 - 验证汉字 - 验证身份证 - 验证URL - 验证IP地址 如果以上规则不能满足也可以自定义实现 ### 安装教程 pom依赖 ``` com.gitee.dqhm evalidator 1.0.3 ``` [ 获取最新版本](https://search.maven.org/search?q=g:com.gitee.dqhm) ### 使用说明 1. 在实体类字段上添加注解 @Evalidator - String name() default ""; 字段名称,设置了即可在提示中加上 - Ev[] rules() default {}; 校验规则,单个为EV.*,多个校验格式为{EV.**,EV.**} - int maxLength() default 255; 字段最大长度,与校验规则长度校验相对应,必须同时存在才有效 - String errorMsg() default ""; 错误信息定义,未定义则为系统默认提示 - String[] values() default {}; 字段值范围,与值范围校验匹配,必须同时存在才有效 - String[] otherRules() default {}; 其他校验规则,值为自己定义的校验类的路径,类必须继承Verification - String anyRequired() default "A"; 任一必填校验类型,校验2个字段任一必填,将其类型设置为一致即可,默认为A - String[] dateFormat() default DateFomat.DF_31; 匹配的日期格式,默认格式为yyyy-MM-dd HH:mm:ss;可以在DateFomat类中选择,支持多个日期格式 - String defaultValue() default ""; 字段为空时默认值,目前只支持String类型字段 - long specifiedTime(); 指定时间,不填默认为当前时间 2. 需要执行校验时 ,通过校验工具类EvalidatorFactory 执行其中的方法执行 3. 自定义错误提示,可以在注解中配置errorMsg属性(任一必填校验除外),也可以继承提示类ErrorMsg ,给父类字段重新赋值 ``` public class TestMsg extends ErrorMsg { public String requiredMsg = "必填校验存在问题"; public String digitalMsg = "数字校验存在问题"; { super.requiredMsg = requiredMsg; super.digitalMsg = digitalMsg; } } ``` ### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) ### 联系作者 > 1454868983@qq.com