2010-07-10 32 views
0

我有這樣ASP MVC驗證使用正則表達式的組合框

<select name="Type" id="Type" > 
    <option value="0">--Select--</option> 
    <option value="Open Ended">Open Ended</option> 
    <option value="Property">Property</option> 
</select> 

和我的MVC驗證組合框包含此

[Required(ErrorMessage = "Required Field")] 
[RegularExpression(@"^[^0]+", ErrorMessage = "Please Select the Type")] 
public string Type { get; set; } 

但是,當我提交表單沒有甚至拋出錯誤當選擇「 - 選擇 - 」時。我在這裏錯過了什麼嗎?

回答

0

嘗試在正則表達式的末尾指定$符號。

如果這樣將不利於試圖跳過value屬性「 - 選擇 - 」選項(和它的內容太):

<option label="--SELECT--"></option> 

在這種情況下,你的「必選」屬性將引發驗證錯誤(因爲瀏覽器將發佈形式參數與未指定的值或將根本不張貼此參數) - 它可以幫助我的情況:)

+0

對不起傢伙......我在我的觀點中有錯誤的名稱和編號,導致了這個問題......我改變了這些東西,我的RegEx工作正常:) – Johnson 2010-07-10 13:05:15

0

更改此:

<option value="0">--Select--</option> 

到這一點:

<option value="">--Select--</option> 

現在只有您需要的字段驗證屬性。