資料註解(data annotation)和流暢的驗證(fluent validation)的區別

幾乎每個web應用程式都需要某種驗證。但什麼是驗證?為什麼需要這些?嗯,使用者輸入的資料並不總是可靠的。有時,他們輸入不正確的資料,無論是有意還是無意。有時,一些惡意使用者會希望透過故意輸入不適當的資料來中斷應用程式。在這兩種情況下,您都需要在使用資料進行進一步處理之前驗證輸入資料。理想情況下,使用者應該以正確的格式輸入正確的資料。但正如你所知,現實世界並不理想,人們確實會犯錯。因此,作為開發人員,必須...

幾乎每個web應用程式都需要某種驗證。但什麼是驗證?為什麼需要這些?嗯,使用者輸入的資料並不總是可靠的。有時,他們輸入不正確的資料,無論是有意還是無意。有時,一些惡意使用者會希望透過故意輸入不適當的資料來中斷應用程式。在這兩種情況下,您都需要在使用資料進行進一步處理之前驗證輸入資料。理想情況下,使用者應該以正確的格式輸入正確的資料。但正如你所知,現實世界並不理想,人們確實會犯錯。因此,作為開發人員,必須驗證應用程式中的輸入資料。如果使用者輸入無效,應通知使用者,然後使用者應重新輸入正確的輸入資料並再次提交。

簡言之,驗證是確保資料質量的實踐。驗證可以在伺服器端、客戶端或兩端進行。驗證是ASP.NET MVC應用程式中的一個基本方面,它使開發人員可以使用許多可用的框架來幫助他們定義和執行資料驗證。資料註釋和Fluent驗證是兩種用於驗證使用者輸入資料的驗證。

資料註釋

資料註釋只不過是一組屬性,可用於配置模型類以驗證使用者輸入的輸入資料。它提供了一組可應用於資料物件類屬性的.NET屬性。這些屬性提供了一種非常宣告性的方法,可以將驗證規則直接應用於模型。資料註釋是一種通用機制,可用於向框架提供後設資料。框架從後設資料驅動驗證,併在構建HTML以顯示和編輯模型時使用後設資料。當然,您也可以手動驗證檢視模型是否為ASP.NETMVC,但是使用資料註釋可以使驗證邏輯可重用,還可以節省時間。此外,它還最小化了操作方法的複雜性。其思想是將約束後設資料新增到檢視模型中的屬性中,這些後設資料可以稍後由模型繫結過程中的預設繫結器獲取。

流暢的驗證

Fluent驗證是一種流行的開源驗證庫,用於解決複雜的驗證需求。它是用於.NET的第三方驗證庫,使用易於使用的fluent介面構建強型別驗證規則。它還使用lambda表示式來編寫可讀的驗證規則。它是一個伺服器端框架,用於為使用者資料建立高階和複雜的驗證。它是一個很好的工具,可以幫助您輕鬆建立和維護驗證。此外,它還適用於您甚至不擁有或無法更改的模型。fluent驗證背後的思想是使用鏈式方法呼叫來生成易於開發人員閱讀的程式碼。然後,每個呼叫的返回型別定義下一個呼叫的有效方法。

資料註釋與fluent驗證的區別

簡單

–使用資料註釋進行配置相當簡單,因為它允許您在模型後設資料類中的一個位置配置所有驗證規則,而無需在其他任何位置進行配置。它仍然是ASP.NETMVC中用於模型驗證的最常用方法之一。另一方面,Fluent驗證是一個開源的驗證庫,用於解決複雜的驗證需求。它是一個很好的工具,可以幫助您輕鬆建立和維護驗證。

條件驗證

–Fluent驗證使用功能強大的Fluent API和lambda表示式來構建強型別驗證規則。它為客戶端驗證提供了極好的支援,並且驗證邏輯易於測試。Fluent驗證使您可以輕鬆地實現基於某個欄位的條件驗證。像資料註釋這樣的內建註釋不支援開箱即用的條件驗證。資料註釋不支援任何型別的條件邏輯。fluentapi透過使用When/uncell方法實現了這一點。

資料註釋與fluent驗證:比較圖

總結

在ASP.NET MVC中,資料註釋和Fluent驗證都是優秀的驗證工具,它們提供了出色的客戶端驗證。Fluent驗證似乎可以更好地控制驗證規則,因為它使用強大的Fluent API來解決複雜的驗證需求。好吧,基本上你可以用資料註釋來配置的所有東西,你可以用Fluent驗證來做同樣的事情,但不是相反。也可以同時使用它們,但是這樣程式碼就會變得不一致。Fluent驗證是一個很好的工具,可以幫助您輕鬆地建立和維護驗證,還可以使您的程式碼看起**凈。

  • 發表於 2021-06-26 19:10
  • 閱讀 ( 17 )
  • 分類:科技

你可能感興趣的文章

參考文獻(bibliography)和註釋書目(annotated bibliography)的區別

...書目與註釋書目的區別。學術檔案和論文需要大量的參考資料和支援檔案,以幫助證明其中所討論的觀點。正是透過廣泛的研究人們發現了這些。學術研究文獻也要求在原始文獻後附上一份參考文獻的清單,這一清單通常出現在...

  • 發佈於 2020-11-03 04:13
  • 閲讀 ( 66 )

圓珠筆(ballpoint)和滾球(rollerball)的區別

...想到,無處不在的自來水筆有一天會讓位於圓珠筆的方便和流暢?為什麼全世界都叫他們有球筆?因為,兩者都使用了一種獨特的書寫機制,筆尖裡有一個金屬球。但是我們來這裡是為了找出圓珠筆和滾球之間的區別。如果你認...

  • 發佈於 2020-11-04 21:44
  • 閲讀 ( 58 )

註釋的簡單指南:如何註釋PDF、電子書、影象和網站

給一本實體書做註解——標出重要的段落,突出特殊的單詞,在頁邊空白處寫筆記——是一種永遠玷汙它的好方法。幸運的是,在數字閱讀或網路閱讀時,註釋並沒有那麼具有破壞性。 ...

  • 發佈於 2021-03-25 04:26
  • 閲讀 ( 52 )

谷歌chrome的七大最佳註解工具

... 分享註解和筆記很簡單,你可以透過提供的可分享連結將其彈出到Facebook、Twitter、Google Plus或透過電子郵件傳送。所有的標記都直接在頁面上完成,所以你永遠不必離開網站。 ...

  • 發佈於 2021-03-30 17:44
  • 閲讀 ( 51 )

wondershare pdfelement如何實現比以往更快、更簡單、更流暢的pdf編輯

...源相關的任務比以往任何時候都要容易。 快速、簡單、流暢–適用於小型企業的完美pdf編輯器 最終,我們發現Wondershare是直觀的、價格合理的、輕量級的。為效能和簡單性而設計,它的特點是沒有臃腫的軟體和選單,大大簡化...

  • 發佈於 2021-03-31 18:22
  • 閲讀 ( 45 )

office設計負責人談論微軟軟體和硬體的流暢設計承諾

...現在我們看到了微軟的團隊如何合作,為更多的產品帶來流暢的設計。 在接受Verge採訪時,Office設計負責人John Friedman詳細介紹了Windows、Office甚至Surface團隊是如何協同工作的,他稱即將到來的協作努力是“跨公司的努力”。他說...

  • 發佈於 2021-04-04 04:10
  • 閲讀 ( 40 )

如何最大限度地減少快閃記憶體驅動器資料損壞和丟失?

...安裝/解除安裝)你的快閃記憶體驅動器。如何將潛在的資料丟失降至最低? 今天的問答環節是由SuperUser提供的,SuperUser是Stack Exchange的一個分支,是一個由社群驅動的問答網站分組。 問題 超級使用者讀者Peter想知道他能做些...

  • 發佈於 2021-04-11 19:05
  • 閲讀 ( 38 )

微軟推出五顏六色的新windows10圖示

...的windows10快環測試儀上使用,新的應用程式圖示遵循微軟流暢的設計原則。去年12月,微軟釋出了數百個新的windows10圖示,所有這些圖示都比現在的作業系統更加豐富多彩和現代。 計算器、Groove音樂、郵件、錄音機、...

  • 發佈於 2021-04-20 06:00
  • 閲讀 ( 42 )

這就是微軟設計新的彩色windows10圖示的方式

...應用程式會產生更多的認知負荷。我們需要使用現代化的流暢設計語言,將更多視覺線索融入圖示設計語言中。” 微軟現在已經改進了圖示,以更好地反映其跨平臺的做法,同時堅持熟悉Windows使用者的習慣。“利用流暢的設計...

  • 發佈於 2021-04-20 06:17
  • 閲讀 ( 30 )

微軟宣佈Windows10秋季創作者更新

...您輕鬆地從OneDrive獲取檔案,而不必同步它們或下載整個資料夾。 一個新的Fluent設計,以前代號為projectneon,將是windows10秋季創作者更新的一部分。微軟已經開始將它的一些應用程式轉換成流暢的設計,這是該公司努力超越以前...

  • 發佈於 2021-05-11 03:42
  • 閲讀 ( 21 )