2021年4月29日 星期四

驗證物件的 Properties 是否為 Null

一般這種需要確保屬性是否有值的動作,大都想到 MVC 有提供 ModelState.IsValid ,

快速且方便檢查Model Prop 上掛載的特性,如,是否可為Null 、長度... 等等;但若

無法在一開始就檢查,也許可以參考以下方式...



希望可以支援泛型檢查,使用上也較為方便,於是生出了以下程式碼,透過傳入的

來源,並取得型別上所有公開的屬性,判斷若為有任一屬性值為 null ,則跳出迴圈

並且回傳 false


以下設定類別 Person 



測試情境一:若屬性皆有值,應回傳 True

client 端:


結果:



測試情境二:若可為Null 的實值型別Age 屬性沒有給值,會得到結果 False

Client 端:


結果:


測試情境三:Address 屬性沒有給值,會得到結果 False

Client 端:


結果:


測試情境四:Address 屬性設定為空字串,得到結果為 True

Client 端:


結果:


測試情境五:Address 屬性明確指定為 Null,得到結果為 False

Client 端:


結果:



也許透過以上方式,減少重工


沒有留言:

張貼留言