【已解決】使用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.pswp.cn/bicheng/18565.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/18565.shtml
英文地址,請注明出處:http://en.pswp.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;急需清理。 二、…