文章预览
前言 上个版本,测试给我提了一个 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的,所以返
………………………………