# btg-validq **Repository Path**: zcltd-btg/btg-validq ## Basic Information - **Project Name**: btg-validq - **Description**: 为了学习,参考baidu的fluentvalidator编写的一个简单的基础验证框架(纯基础java编写,不遵循任何规范,如JSR330),因为个人信奉简单既是美,全部代码皆为人人能懂的java代码。对于字母Q,完全是让码代码的过程中多使用左手小指,减少老年痴呆发生几率。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2018-04-24 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: utils **Tags**: None ## README # btg-validq #### 项目介绍 > 为了学习,参考baidu的fluentvalidator编写的一个简单的基础验证框架(纯基础java编写,不遵循任何规范,如JSR330), 因为个人信奉简单既是美,全部代码皆为人人能懂的java代码。对于字母Q,完全是让码代码的过程中多使用左手小指,减少老 年痴呆发生几率。 #### 使用说明 ``` ValidationResult result = ValidQ.create().failContinue() .on(null, new IsNotNullValidator().setField("field").setFieldName("fieldName").setShortField("shortField").setShortFieldName("shortFieldName")) .on(null, new IsNotNullValidator().setField("field").setFieldName("fieldName").setShortField("shortField")) .on(null, new IsNotNullValidator().setField("field").setShortField("shortField")) .on(null, new IsNotNullValidator().setField("field")) .on("asdf", new IsNullValidator().setShortField("a")) .on(null, new IsNullValidator().setShortField("a")) .on("asdf", new IsNotNullValidator().setShortField("b")) .on(null, new IsNotNullValidator().setShortField("b")) .on("asdf", new IsEmptyValidator().setShortField("c")) .on(null, new IsEmptyValidator().setShortField("c")) .on(" ", new IsEmptyValidator().setShortField("c")) .on("asdf", new IsNotEmptyValidator().setShortField("d")) .on(null, new IsNotEmptyValidator().setShortField("d")) .on(" ", new IsNotEmptyValidator().setShortField("d")) .on("1", new StringLengthValidator().setMin(2).setMax(3).setShortField("e")) .on("22", new StringLengthValidator().setMin(2).setMax(3).setShortField("e")) .on("333", new StringLengthValidator().setMin(2).setMax(3).setShortField("e")) .on("4444", new StringLengthValidator().setMin(2).setMax(3).setShortField("e")) .on("asdf", new StringRegexValidator().setRegex("^[a-zA-Z0-9][a-zA-Z0-9_\\-\\.]{0,19}@(?:[a-zA-Z0-9\\-]+\\.)+[a-zA-Z]+$").setShortField("f")) .on("jounzhang@126.com", new StringRegexValidator().setRegex("^[a-zA-Z0-9][a-zA-Z0-9_\\-\\.]{0,19}@(?:[a-zA-Z0-9\\-]+\\.)+[a-zA-Z]+$").setShortField("f")) .valid(); if (result.isFailure()) { System.out.println(result.getFirstError().getErrorMsg()); } for (ValidationError validationError : result.getErrors()) { System.out.println(validationError); } ``` #### 升级记录 ``` v4.0.1 1、转为独立maven依赖,去掉parent; v3.0.17 1、btg-parent升级到v2.0.1; v3.0.16 1、修复上下文参数替换不能包含特殊字符的bug,当包含特殊字符时使用转移符号即可 v3.0.15 1、参数处理支持除上下文外的默认参数列表 v3.0.14 1、增加对level的支持,排序优先级根据leven+index确定 v3.0.13 1、默认提示信息规则调整 v3.0.12 1、验证器优化 v3.0.11 1、绑定错误结果对验证器的引用 v3.0.10 1、参数不存在不抛异常,因为参数为空有可能为正常状态 v3.0.9 1、取消对type的支持,因为没有意义 v3.0.8 1、增加对验证优先级的支持 2、错误结果支持获取验证目标值 v3.0.7 1、validator增加对上下文参数占位符的处理 v3.0.6 1、ValidQ设置上下文参数返回自身 v3.0.5 1、增加上下文参数设置map格式 2、增加上下文对参数占位符的处理 v3.0.4 1、增加集中常用验证器 v3.0.3 1、获取第一条验证错误信息判断是否有错误 2、修复isFailure无效的bug v3.0.2 1、统一依赖管理 v3.0.1 1、统一迁移至公司名下; v1.0.1: 1、为了学习,参考baidu的fluentvalidator编写的一个简单的基础验证框架(纯基础java编写,不遵循任何规范,如JSR330), 因为个人信奉简单既是美,全部代码皆为人人能懂的java代码。 ``` --- 豆圆