2015-07-10 48 views
2

我想使用數據註釋驗證MVC中的DropDown列表。下拉列表的值從10-23開始,然後它也可以是99.有沒有辦法使用兩個範圍數據註釋來僅允許這些可能的值通過?兩個範圍數據註釋MVC

[Range(10-23)] 
[Range(99-99)] 
public int DropDownListValue { get; set; } 

或者是有一個正則表達式或一些可以爲我做到這一點?或者我只是做一個自定義驗證器更好?

回答

1

可以使用正則表達式屬性來實現這一

[RegularExpression("^(1[0-9]|2[0-3]|99)$")] 
public int DropDownListValue { get; set; } 

注:

  1. 1[0-9]驗證10和19之間
  2. 2[0-3] 20和23之間驗證
  3. 99驗證結果爲99 :)
  4. 您可以添加更多的驗證與他們之間的|
  5. ^$確保整個字符串進行驗證(不正確:A11A,A11,11A)( 正確:11)。
+0

完美,我不習慣使用正則表達式,所以我不知道該怎麼去做。你能不能提醒我^和$是什麼意思? ^開頭,$是以正確結束? –

+0

@ryanmiller你是對的:)。我強調了爲什麼在我的答案中這是必要的。 – adricadar