专栏名称: 码小辫
给程序员和编程爱好者分享计算机编程电子书以及相关的学习资源
今天看啥  ›  专栏  ›  码小辫

喜提一个bug,聊聊@NotEmpty和@NotBlank

码小辫  · 公众号  ·  · 2024-08-06 17:10

文章预览

前言 上个版本,测试给我提了一个 bug ,说一个来源字段,传个空白字符串,也能更新成功, 建议做一下校验 。 我想了一下,我的属性 确实有校验呀 :   @NotEmpty(message =  "source must not be empty" )   private String  source ; @NotEmpty 跟 StringUtils.isEmpty 校验效果是一样的,点进去源码一看,发现 确实用得不太对 :   public static boolean isEmpty(CharSequence cs) {          return  cs == null || cs.length() == 0;     } 如果传空白字符串的话,长度大于0的话, @NotEmpty 并不能校验出来 。 1. 复现demo String  source  = "  " ; System.out.println(StringUtils.isEmpty( source )); //输出长度 System.out.println(source.length()); 运行结果: false 2 传一个空白字符串,运行的结果是 false 。 因为 isEmpty 校验的是, 不能为null,而且长度必须大于0 ,而空的字符串,长度是大于0的,所以返 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览