我使用xval在我的asp.net mvc2 web應用程序中使用客戶端驗證。儘管我在數字字段中輸入文本時發生了錯誤,但它仍會嘗試將表單發佈到數據庫。不正確的值將被替換爲0並保存到數據庫。但是,應該甚至不可能嘗試並提交表單。有人可以幫我從這裏出去嗎?C#mvc2客戶端驗證xval,阻止帖子
我設置如下屬性:
[Property]
[ShowColumnInCrud(true, label = "FromPriceInCents")]
[Required]
//[Range(1, Int32.MaxValue)]
public virtual Int32 FromPriceInCents{ get; set; }
捕請求控制器看起來如下;這部分我沒有遇到任何錯誤。
[AcceptVerbs(HttpVerbs.Post)]
[Transaction]
[ValidateInput(false)]
public override ActionResult Create()
{
//some foo happens
}
我的觀點看起來象下面這樣:
<div class="label"><label for="Price">FromPrice</label></div>
<div class="field">
<%= Html.TextBox("FromPriceInCents")%>
<%= Html.ValidationMessage("product.FromPriceInCents")%></div>
,並在視圖我有以下規則,在HTML代碼生成正確的驗證規則結束
<%= Html.ClientSideValidation<Product>("Product") %>
希望有人可以幫助我解決這個問題,提前致謝!
編輯:4月19日 我剛剛發現有一個正常的按鈕,而不是輸入類型=「按鈕」使用這可能是問題嗎?
<button class="save" type="submit" name="save"><span>Opslaan</span></button>
爲什麼你ValidationMessage( 「product.FromPriceInCents」),但你的文本框使用 「FromPriceInCents」?這似乎是可疑的。有什麼理由不使用強類型幫助器嗎? ValidationMessageFor(x => x.FromPriceInCents) – Jab 2010-04-16 14:59:35
我將文本框和驗證消息更改爲強類型助手。但是這個改變並不影響驗證,不過好的提示! – Rob 2010-04-19 07:32:45