@Validated註解無效,以及巢狀物件屬性的@NotBlank無效問題
最近在做的公司專案是一個表單系統,剛好要用到@Validated註解來對錶單欄位進行驗證。第一次使用遇到了一些坑,問了同事之後,總算是掌握了。
首先,在dto實體你想要做驗證的屬性前,加上@NotBlank/NotNull/NotEmpty註解:
他們的區別如下:
@NotBlank:只用在String上,表示傳進來的值不能為null,而且呼叫trim()後,長度必須大於0
@NotNull:不能為null,但可以為empty(分配了記憶體空間,但值為空)
@NotEmpty:不能為null,而且長度必須大於0
然後在service層介面前添加註解@Validated
然後執行,給屬性傳遞空值,發現沒有任何反應;是因為沒在介面方法的引數前加上@Valid註解,如下所示:
加上後再執行,傳遞空值,成功報錯。
(同時,以上總結可以加在controller層進行驗證,@valid同樣加在方法引數前經典電影,@validated加在controller類名前圖
同樣能起效果)
做到後面發現傳遞的物件裡面還有一個物件,要對裡面的物件進行驗證,這時候是驗證不到的
需要在裡面物件前也加上總結@valid,這樣,無論巢狀多少,都可以驗證
(對於物件泛型,也能驗證成功)
相關推薦
@NoNull、@NotEmpty等註解無效,以及巢狀物件屬性驗證無效問題
@Validated註解: 在進行請求引數的驗證時,需要在controller方法的需要驗證的引數前面加上該註解,否則Form中的驗證註解不起作用。 但是如果是內層物件需要驗證的話,需要在裡面物件前也加上@valid,這樣,無論巢狀多少,都可以驗證(包括物件泛型)。
@Validated註解無效,以及巢狀物件屬性的@NotBlank無效問題
最近在做的公司專案是一個表單系統,剛好要用到@Validated註解來對錶單欄位進行驗證。第一次使用遇到了一些坑,問了同事之後,總算是掌握了。 首先,在dto實體你想要做驗證的屬性前,加上@NotBlank/NotNull/NotEmpty註解: 他們的區別如下: @NotBlank:只用在Str
做一次面向物件的體操:將JSON字串轉換為巢狀物件的一種方法
能不能把這個JSON串轉成相應的物件,更易於使用呢? 為了方便講解,這裡重複寫下JSON串。 { “item:s_id:18006666”: “1024”, “item:s_id:18008888”: “1024”, “item:g_id:1800
Gson教程二(譯):巢狀物件的序列化和反序列化
該文章翻譯自Gson Tutorial Series系列教程。該篇主要闡述瞭如何使用Gson對映巢狀類。 巢狀物件的序列化 我們希望通過實際的例子來闡述功能,因此讓我們來擴充套件我們的UserSimple模型。在之前的釋出中,user模型僅僅有一
在swiper中使用長頁面,以及巢狀多個swiper時滑動卡頓、無法滑動的問題。
前言 一般而言,swiper的應用場景大多是兩種: 滿屏切換的H5頁面 pc&移動端各種樣式的輪播圖 但有的時候,面對奇怪的需求,我們需要改變,甚至讓swiper實現一些無法實現的功能。 需求 近期接到一個h5專案,主體頭部
js中clearInterval無效,以及setInterval中斷後重新執行
4、document.getElementById("run").style.visibility="hidden";//run不可見5、clearInterval()方法。 完整的程式碼如下所示:<!doctype html> <html lang="en"> <head&g
Swagger 巢狀物件、巢狀json資料返回的寫法
但是生成的文件並不能滿足我們日常專案中的需求,舉個例子: 我們在專案中需要返回這種資料 { "code": 200, "msg": "string", "result": { "currentPage": 0, "list": [
Elasticsearch 更新 nested 巢狀物件 陣列中某個物件的某些欄位的值
在業務中遇到需要更新ES中某個表格裡面一個欄位中的值,這個欄位是一個nested巢狀物件陣列(二級表),需要更新裡面某個物件的某1-2個字端的值,網上搜索了一下,最後找到了一個解決辦法,運用的是es中自帶的指令碼。 { "script": { "lang": "pa
python呼叫C++,傳遞結構體與結構體指標,以及巢狀結構體
#include<iostream>using namespace std;//該檔名稱:cpptest.cpp//終端下編譯指令://g++ -o cpptest.so -shared -fPIC cpptest.cppstruct sub_struct{
elasticsearch 巢狀物件查詢
// 建立巢狀物件mapping PUT /earth_index { "mappings": { "earthblog": { "properties": { "title":{ "type":"string"},
用proxy寫一個遞迴來監聽巢狀物件甚至JSON
其實那個監聽方式有個大bug,當不停的update 監聽物件以後就會導致記憶體洩漏。因為每次在呼叫get的時候都會生成一個新的proxy,後來才知道是多傻。 經過我一天時間的思考,用了一個遞迴的方法去解決巢狀物件的監聽問題。 下面是程式碼: //傳
多層巢狀物件獲取底層物件屬性
最近在做一個需求,對業務層的查詢引數及返回值做校驗,檢視其是否是合法的值,使用AOP做。後來發現業務方法的返回值有多重巢狀,有Map,List,Set,Page,自定義包裝類等等,且包裝層還巢狀層,如Map< ?,List>,Page< Lis
Repeater中的條件判斷,以及巢狀判斷if...else... .
同樣遇到了在Repeater繫結資料過程中增加判斷的問題,百度了一下,看了幾篇文章,大有收穫,遂整理後,結合自己的內容,加以釋出,共同分享! 執行判斷總結起來有兩種方式: 一種是 --<%# DataBinder.Eval(Container.DataI
使用HttpClient模擬訪問帶有巢狀物件引數的介面
專案中涉及到外部服務呼叫時,會使用到postman來模擬測試,例如一個介面如下: @RequestMapping("/test") public void test(@RequestBody User user){ } User類的屬性包括id、name
我的文檔 屬性設置裏找不到位置選項,以及文件夾遷移解決方式
blog 是我 詳細 網上 folders 多人 mod gedit post 我的文檔 屬性設置裏找不到位置選項,以及文件夾遷移解決方式 轉載請註明出處。http://blog.csdn.net/aaa123524457/article/details/4705695
關於文件,以及各個模塊的命名規範
class container wrap css命名 tag btn ase header sea 主要的master.css 、 模塊 module.css 、 基本共用 base.css 、 布局,版面 layout.css 、 主題 themes.css
網絡配置命令,綁定,接口命名以及配置文件的詳解
網絡配置命令 綁定 接口命名 配置文件一:三大命令家族當我們在centos中管理網絡時需要為網卡設置網絡屬性,有自動獲取和手動配置兩種,自動獲取需要在主機所在的網絡中至少有一臺DHCP服務器,而手動配置即靜態指定則可以使用命令或者修改配置文件,首先著重說一下使用命令,命令包括net-tools家族(ifcfg
安卓工作室 android studio文件和代碼模板,以及漢化出錯問題
bottom dialog res getconf ring util etc eap tco 安卓工作室 android studio文件和代碼模板,以及漢化出錯問題 作者:韓夢飛沙 Author:han_meng_fei_sha 郵箱:[email p
2017.11.6 - ant design table等組件的使用,以及 chrome 中 network 的使用
rom sources work div gin from 表格 組件化 管理 一、今日主要任務 悉尼小程序後臺管理開發: 景點管理頁面: 獲取已有數據列表,選取部分數據呈現在表格中,根據景點名稱、分類過濾出對應的景點。 二、難點 1. 項目技術選取: ant de
QT初體驗1:如何學習QT之個人淺見,以及如何讀取文本文件,在調試信息中輸出。
沒有 c++教程 最簡 將不 ror 聽說 講解 知識點 括號 2017年11月初,隨著工作崗位的調動,我轉到了研發崗,開始了漫漫程序員的成長之路。首先介紹下個人知識儲備,大一學習過C語言,沒有工程經驗,所學是為了期末考試+2級考試,考完在大學+碩士期間沒有用到編程。 來到