我有一個驗證規則的數量模型:Reqular表達不ASP.NET MVC2應用工作
[Required(ErrorMessage = "Number must be enter")]
[RegularExpression("^[0-9]{1,10}$", ErrorMessage = "Your must be enter only integer number between 0-10 simvols")]
public int Number
{
get { return number; }
set { number = value; }
}
所以我的驗證不幹活檢查我的代碼,但找不到在哪裏我做錯誤。 這是我的看法模板的一部分:
<% using (Html.BeginForm())
{%>
<%: Html.ValidationSummary(true) %>
<div class="editor-label">
<p class="number">
Enter number</p>
<%: Html.TextBoxFor(model => model.Number, new {@class = "txtNumber"})%>
<%: Html.ValidationMessageFor(model => model.Number) %>
</div>
<p>
<input type="submit" value="Calculate" class="button" />
</p>
<% } %>
你確定它不工作?你是否在你的post方法中檢查ModelState.IsValid? –
是的,我確定,請看這個視頻:http://screencast.com/t/6vS1X12c9Sak –
你爲什麼這樣做呢?您應該使用模型綁定方法。如果你讓Number是一個可爲空的int,那麼不是FormCollection有'int? Number「,然後該值將被自動綁定並轉換爲int。您可以添加一個範圍驗證,以確保它落在正確的範圍內。 –