【已解决】使用StringUtils.hasLength参数输入空格仍然添加成功定价为负数仍然添加成功

Bug情景

今天在做功能测试时,发现使用使用StringUtils.hasLength()方法以及定价为负数时,添加图书仍然成功
在这里插入图片描述

思考过程


0.1 当时在做参数检验时用了spring提供的StringUtils工具包,百度/大数据模型说:在这里插入图片描述
0.2 这里的定价设置的类型是BigDecimal类型
但是在测试的时候却能添加成功,纳闷βヾ(,・∇・,川

  1. 去看StringUtils的源码,发现它并不能判断只包含空白字符串的字符串。
    因为它的源码是这样的
    在这里插入图片描述
  2. 另外,做参数校验的时候并没有判断定价负数非法情况,自然可以是负数

解决

  1. 字符串参数非法情况–》str.trim().isEmpty()
  2. 定价负数–》num.compareTo(BigDecimal.ZERO)<0
    在这里插入图片描述
    (修改前端弹窗内容)===》
    在这里插入图片描述
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/18565.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis:redis基础

Redis Remote Dictionary Service即远程字典服务 一个基于内存的key-value结构数据库,在开发中常常作为缓存存储不经常被改变的数据 基于内存存储,读写性能高 在企业中应用广泛 Redis介绍 用C语言开发的开源高性能键值对数据库,可以达到10w的qps,可以存储丰富的value类型…

【ubuntu20】--- 定时同步文件

在编程的艺术世界里&#xff0c;代码和灵感需要寻找到最佳的交融点&#xff0c;才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里&#xff0c;我们将共同追寻这种完美结合&#xff0c;为未来的世界留下属于我们的独特印记。 【Linux命令】--- 多核压缩命令大全&…

肉类食品解冻污水处理设备功能特点

诸城市鑫淼环保小编带大家了解一下肉类食品解冻污水处理设备功能特点 肉类食品解冻污水处理设备是专门用于处理肉类加工过程中产生的解冻废水的设备。这些设备在保障肉类食品生产过程中的卫生安全同时&#xff0c;也有效处理了废水&#xff0c;避免了环境污染。以下是对肉类食品…

VM虚拟机共享文件夹fuse: bad mount point `/mnt/hgfs‘: No such file or directory

报错显示挂载点 /mnt/hgfs 不存在&#xff0c;你需要先创建这个目录。可以按照以下步骤进行操作&#xff1a; 创建挂载点目录&#xff1a; sudo mkdir -p /mnt/hgfs 手动挂载共享文件夹&#xff1a; sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other 确保每次启动时自动…

液氮罐内部会污染吗

液氮罐是一种常见的存储液态氮的设备&#xff0c;广泛应用于科研、生物医药、食品冷冻等领域。但是&#xff0c;人们对于液氮罐内部是否会产生污染一直存在疑问。 我们来看液氮罐内部可能的污染源。液氮罐内部主要存在以下几种潜在的污染来源&#xff1a;气体污染、杂质污染、…

C++ | Leetcode C++题解之第117题填充每个节点的下一个右侧节点指针II

题目&#xff1a; 题解&#xff1a; class Solution { public:void handle(Node* &last, Node* &p, Node* &nextStart) {if (last) {last->next p;} if (!nextStart) {nextStart p;}last p;}Node* connect(Node* root) {if (!root) {return nullptr;}Node *…

推券客CMS淘宝优惠券网站源码

推券客CMS淘宝优惠券网站源码是一个以PHPMySQL进行开发的PHP淘宝客优惠券网站。支持电脑站、手机站以及微信公众号查券。支持多级代理返利和阿里妈妈最新的渠道管理等功能。 五大优势 一、全开源 推券客cms网站程序数据库完全开源,目前市场上基本都是以下2种淘宝客系统 第一…

LeetCode - 双指针(Two Pointers) 算法集合 [对撞指针、快慢指针、滑动窗口、双链遍历]

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/139270999 双指针算法是一种常见且灵活的技巧&#xff0c;通过使用两个指针协同完成任务。这些指针可以指向不同的元素&#xff0c;具体应用取决于…

Java中的异常处理策略:编写健壮的软件

异常处理是Java编程中一个重要的方面&#xff0c;正确的异常处理策略可以使软件更加健壮和易于维护。本文将详细探讨Java中的异常处理机制&#xff0c;介绍常见的异常类&#xff0c;以及提供有效的异常处理技巧和最佳实践。 #### 1. Java异常类别 Java中的异常分为两大类&…

Clickhouse 字符串函数使用总结—— Clickhouse基础篇(七)

文章目录 判空非空判断字符串长度左补齐字符串右补齐字符串字符串转小写字符串转大写重复字符串拼接字符串函数计算子串base64编码base64解码判断开头字符串判断结尾字符串删除空白字符从HTML提取纯文本字符串部分替换字符串全部替换字符串正则部分替换字符串正则全部替换计算子…

Spring Boot 与 OpenJ9 的 Docker 集成:提升 Java 应用性能的新选择

## 引言 随着 Docker 的普及&#xff0c;越来越多的开发者开始使用 Docker 来部署和管理他们的应用。在这种趋势下&#xff0c;将 Spring Boot 与 OpenJ9 结合使用&#xff0c;可以为 Java 应用带来更高的性能和更低的资源占用。本文将介绍如何在 Docker 环境中使用 Spring Bo…

回顾封装、继承和多态的概念,并给出相关示例

封装、继承和多态是面向对象编程&#xff08;OOP&#xff09;的三个核心概念。下面我将分别解释这些概念&#xff0c;并给出相应的示例。 封装 概念&#xff1a;封装是将数据&#xff08;变量&#xff09;和操作数据的方法&#xff08;函数&#xff09;组合到一个类中&#x…

pytest断言与Selenium模拟操作的规划案例

pytest断言与Selenium模拟操作的规划案例 在使用pytest进行自动化测试时&#xff0c;断言是验证测试结果是否符合预期的关键步骤。pytest提供了简洁的断言语法&#xff0c;使得编写测试用例更加直观和易于维护。以下是一个简单的规划案例&#xff0c;展示了如何在pytest中使用…

202309青少年软件编程(Python)等级考试试卷(四级)

第 1 题 【单选题】 用枚举算法求解“100 以内既能被 3 整除又能被 4 整除的元素”时, 在下列数值范围内,算法执行效率最高的是? ( ) A :1~101 B :4~100 C :12~100 D :12~96 正确答案:D 试题解析: 在选取循环控制变量时, 枚举范围应尽可能小, 但又不能遗漏。 第 …

掌握Python循环:从基础到应用的完整指南

循环语句是编程中常用的一种结构&#xff0c;用于重复执行特定的代码块。Python3 提供了几种类型的循环语句&#xff0c;包括for循环和while循环。接下来&#xff0c;我会详细解释循环语句的基本语法、常用命令、示例、应用场景、注意事项和总结。 基本语法 for 循环 for 变…

什么是勒索软件

什么是勒索软件 勒索软件又称勒索病毒&#xff0c;是一种特殊的恶意软件&#xff0c;又被归类为“阻断访问式攻击”&#xff08;denial-of-access attack&#xff09;&#xff0c;与其他病毒最大的不同在于攻击手法以及中毒方式。勒索软件的攻击方式是将受害者的电脑锁起来或者…

mysql-增量备份流程详细流程

3.增量备份流程 原理&#xff1a;每次备份上一次备份到现在产生的新数据 1.在数据库上面创建一个测试的库 增量备份流程&#xff08;重要) 增量备份跟上一次相比 我增加了啥--incremental //放到何处 --incremental-basedir //上一级//第一次增量备份 innobackupex --user…

Spring Boot中如何查询PGSQL分表后的数据

数据库用的pgsql&#xff0c;在表数据超过100w条的时候执行定时任务进行了分表&#xff0c;分表后表名命名为原的表名后面拼接时间&#xff0c;如原表名是card_device_trajectory_info&#xff0c;分表后拼接时间后得到card_device_trajectory_info_20240503&#xff0c;然后分…

ubuntu使用oh my zsh美化终端

ubuntu使用oh my zsh美化终端 文章目录 ubuntu使用oh my zsh美化终端1. 安装zsh和oh my zsh2. 修改zsh主题3. 安装zsh插件4. 将.bashrc移植到.zshrcReference 1. 安装zsh和oh my zsh 首先安装zsh sudo apt install zsh然后查看本地有哪些shell可以使用 cat /etc/shells 将默…

使用nexus搭建的nodejs私库,定期清理无用的npm组件,彻底释放磁盘空间

一、背景 昨天我们整理了一篇关于docker私库&#xff0c;如何定期清理以释放磁盘空间的文章。 虽然也提及了npm前端应用的组件该如何定期清理的&#xff0c;本文是对它作一个补充说明。 前文也看到了&#xff0c;npm组件占用的blob空间为180多GB&#xff0c;急需清理。 二、…