v1.7.0

新增:

  1. 修改反射式获取数据的核查方式,采用编译时生成对象方式(doing)

    优化:

修复:


v1.6.7

修复:

  1. 升级fastjson版本,修复问题

v1.6.6

修复:

  1. 升级spring版本

v1.6.5

修复:

  1. 升级logback-core版本,用于修复隐含的问题

v1.6.4

修复:

  1. 直接修饰枚举类会有问题

v1.6.3

新增:

  1. 增加range特性中对于中文逗号“,”的支持(防止写错后排查困难)

    优化:

  2. 优化对象创建的逻辑

    修复:

  3. 修复单例工厂的问题

  4. 修复range中时间和数字的正则匹配
  5. 修复range中的past和future中的now的时间设置问题

v1.6.2

新增:

  1. 新增错误信息的map展示
  2. 新增函数的多参数核查
  3. 拦截后抛异常,这个异常可以自定义
  4. 匹配后转换为某个值
  5. 新增为isNull和isBlank,用于替换notNull和notBlank

    优化:

  6. 打印的优化

  7. 身份证号判断采用超级严格方式
  8. notNull和notBlank弃用

    修复:

  9. 修复errMsg对于多个字段的填充问题

  10. 修复参数为空时候的NullPointException问题
  11. 修复在多个匹配器没有匹配时候的异常
  12. 修复range中(0,)中对数字0的不匹配问题

v1.6.1

新增:

  1. 新增注解@EnableMikilin,简化在spring中的使用
  2. 新增errMsg属性的#root.xxx占位符
  3. 新增@Matcher和@Matchers修饰参数类型,这样所有数据类型位置都可以修饰了
  4. 新增对时间范围的核查的计算模式:比如:(-3d2h,) 表示过去3天2小时内的时间
  5. 在MkContext上下文中增加待核查参数所在对象的值的存储,方便核查逻辑的时候使用

优化:

  1. MkException异常添加属性
  2. customize的函数处理部分自动化的匹配,多参数部分自动匹配
  3. 删除类MkAopMkSpringBeanContext上面冗余的注解
  4. 删除函数式接口类MultiPredicate,已经不再使用
  5. 对报错的字段进行默认展示下
  6. 优化核查展示时候的字段提示

修复:

  1. MkAop的异常抛出问题
  2. 补充相关的测试用例
  3. 修复在range中的异常自定义文案问题
  4. 修复notBlank在空字符情况下的核查失效问题

v1.6.0

新增:

1.支持泛型:泛型类型,泛型数组,泛型字符类型,通配符
2.支持其他类型:数组(包括多维数组),目前这样java中的所有类型都支持了
3.添加errMsg中支持将当前属性的变量替换
4.添加多个匹配器与的功能:早先是@Matcher中的匹配器默认都是或操作
5.添加枚举类型修饰的整数
6.添加NotNull和NotBlank功能
7.添加@AutoCheck注解,用于自动化的对如参和出参校验

优化:

1.对Spring添加Optional标签

修复:

1.修复支持子类的继承关系
2.修复多匹配器同时使用问题
3.修复condition条件在复杂表达式情况下的问题
4.修复空字符的匹配问题
5.修复枚举类型的测试用例(添加新的maven插件,可以让idea直行spock测试框架)
6.修复字段为空,则上报空指针异常
7.修复@Check和@Matcher同时作用于集合上面不生效问题
8.修复condition针对属性为空的核查问题


v1.5.0

1.去掉WhiteMatcher、WhiteMatchers、BlackMatcher和BlackMatchers这几个注解
2.新增注解名字Matcher和Matchers,其实就是替换掉上面四个注解
3.新增属性acceptOrDeny用于表示黑白名单的意思

v1.4.5

1.Checks这个类改名为MkValidators

v1.4.4

1.添加没有限制的范围比如:[a,]就等价于[a, null]
2.添加CheckWithException,在有不匹配情况下,直接抛出异常

v1.4.3

1.添加集合的大小的判断
2.匹配器名字的修改
3.注解名字修改
4.增加单个错误信息的展示

v1.4.2

新增功能

1.添加类型匹配Type
2.校验逻辑修改:将校验到不合法逻辑就终止改为校验所有的不合法数据
3.错误信息中变量的替换:条件表达式的文本展示中展示具体的变量名字
4.matcher目录调整
5.新增异常类
6.新增核查上下文,将核查的异常的信息添加到上下文
7.新增用户自定义核查失败时候的异常填写

修复问题

1.range中时间范围,匹配的是非整数则会失败


v1.4.1

1.range添加时间范围,这个建议添加类型,包括时间类型,而且还包括其他函数的一些类型,比如调用size,或者length类型这种
2.系统回调的单例实现接入spring的bean
3.内置时间类型,用于能够直接指定对应的字符串为对应的之间类型
4.分组进行扩展,对一些匹配规则,能够同时适应多个组
5.死循环问题,这个要进行防止
6.添加各种匹配器的异常情况,用于在异常匹配的时候能够进行抛出来


v1.4.0

1.增加分组的概念,对象的调用能够进行分组
2.应用的系统回调能够将核查的对象数据也传递过来
3.注解的命名方式变化一下
4.增加核查函数
5.隐去黑白名单的核查函数
6.将其中的所有的核查方面的注解,修改为匹配,主要是文案方面的修改
7.删除基本类型核查的函数(基本类型的核查应该没有人会用)


v1.3.0

1.枚举类型属性核查
2.类型转换(这个暂时不做)
1.日期类型转换
3.数字类型的范围计算
1.<=,<,>,>=,!=
2.[a,b],[a,b),(a,b],(a,b)
4.条件核查
1.当前值和其他几个字段的值加起来或者减去跟另外的值相同这种条件核查,当前支持Java中的所有的运算符

算术运算符:+、-、*、/、%、++、— 关系运算符:==、!=、>、<、>=、<= 位运算符:&、|、^、~、<<、>>、>>> 逻辑运算符:&&、||、! 赋值运算符:=、+=、-=、*=、/=、(%)=、<<=、>>=、&=、^=、|= 其他运算符:条件运算符(?:)、instanceof运算符

而其中的数据不仅可以和相关的数据做条件判断,还可和当前修饰的类的其他数据进行判断,其中当前类用#root表示,比如举例如下,对象中的一个属性小于另外一个属性

  1. class ToCheckClass{
  2. @FieldValidCheck(condition="#root.ratioA > #root.ratioB")
  3. private String ratioA;
  4. private String ratioB;
  5. }

5.支持常见的一些函数计算,java.util.math中的所有函数均支持

@Data
@Accessors(chain = true)
public class ConditionEntity3 {

    @FieldValidCheck(condition = "min(#current, #root.num2) > #root.num3")
    private Integer num1;
    private Integer num2;
    private Integer num3;
}

v1.2.0

1.读取外部的数据作为黑白名单(直接在原有注解上面添加属性即可)
1.外部数据可以为db也可以为内存,都可以
2.添加常见类型的过滤(直接在原有注解上添加一个过滤类型)
1.身份证
2.电话
3.邮件类型
4.Ip地址
5.固定电话
3.用户正则表达式自定义


v1.1.0

过滤方式采用黑白名单的机制(黑名单就是拒绝的数据,白名单就是只要的数据)
1.基本类型的过滤
2.集合类型的过滤
3.自定义类型的过滤
4.针对整数的范围