使用數據註釋屬性驗證string
屬性時,是否有人知道驗證字符串的方法是一組可能的值之一,可能表示爲數組或分隔字符串?數據註釋以檢查是否在一組數值內
這個問題是更通用的,但我遇到的具體實例是一個屬性,可以包含一個HTTP方法的子集;具體地,GET
,POST
,PUT
,PATCH
和DELETE
。
在System.ComponentModel.DataAnnotations
命名空間中,我看到RegularExpressionAttribute
,我可能會將其子類化並動態創建RegEx,但是想知道是否缺少已存在的內容。
答案不限於.NET框架。第三方庫甚至自定義代碼都可以接受,但更接近標準(在這種情況下意味着採用)越好。
感謝
請注意數據註釋是*註釋*。他們本身並不確認任何事情。您仍然需要實際遵守註釋才能發生的代碼。這適用於任何不屬性設置器實際驗證傳入值的解決方案。 –
如果'RegularExpressionAttribute'不符合您的需求,您可以創建自定義驗證屬性來實現'IClientVaidatable',它將爲您提供客戶端和服務器端驗證[完整的ASP.NET MVC 3驗證指南 - 第2部分]( http://www.devtrends.co.uk/blog/the-complete-guide-to-validation-in-asp.net-mvc-3-part-2) –
@StephenMuecke - 看到我的自我回答。如果您將評論更改爲答案,我會接受它。 –