我們有欄位:貨幣、金額、customerId。假設我們的用戶輸入的貨幣可以是美元、英鎊、歐元。對于美元,我們必須通過正則運算式檢查金額(應小于 1000)和 customerId。對于 GBP,我們僅通過正則運算式檢查 customerId。對于歐元,我們只檢查金額。
switch(currency) 和 if 陳述句可以用于檢查驗證嗎?
uj5u.com熱心網友回復:
如果您使用的是spring boot,我想使用注釋基礎驗證是最干凈和最易讀的方式。使用@Max(value=1000) 作為金額,也使用@Pattern 進行正則運算式驗證。對于貨幣,我建議使用列舉并處理例外。對于歐元的情況,您可以看到: https://stackoverflow.com/a/2783859/11072063[1]
uj5u.com熱心網友回復:
我建議通過Hibernate Validator研究Java Bean Validation。
Baeldung 有一個關于如何在 Spring-Boot 中使用驗證的很棒的教程。
在撰寫驗證時,我會敦促您考慮以下驗證級別:
- 必需,值是否必須存在。
- 型別,是正確型別的值嗎?含義是字串、布林值還是整數?
- 日期,值是否符合某些標準?值是否足夠大、足夠長、足夠復雜等等...
- 該值是否滿足與資料庫關聯的任何要求?值必須是唯一的還是必須已經存在于資料庫中?
前段時間我寫了一個相當詳細的答案,可能有用: 如何在 Spring MVC 中執行自定義驗證?
uj5u.com熱心網友回復:
由于您已標記 Spring 和 Springboot 并要求以最簡潔的方式驗證用戶輸入,因此我建議您使用 Spring aop。
您可以有一個驗證方面。
這使您的業務邏輯保持干凈,驗證邏輯與之分離。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/444176.html
上一篇:NativeScript8.2:找不到名稱CLLocationManager、CLLocationManagerDelegate
下一篇:如何從多個表中進行唯一驗證
