2013-02-22 88 views
0

嗨,我是MVC的初學者我已經編寫了驗證代碼,但它不工作任何人都可以請幫我。 下面是型號代碼:驗證在MVC

[Required] 
public string Name { get; set; } 

這裏是查看代碼:

  @Html.TextBoxFor(m => m.ContactDetailSubSections[i].Name) 
      @Html.ValidationMessageFor(m=>m.ContactDetailSubSections[i].Name) 

在此先感謝您的幫助

+0

頁面中是否存在驗證腳本? – 2013-02-22 06:45:43

+0

確保不顯眼的驗證已啓用 – 2013-02-22 06:46:14

+0

是的,我已經做到了。我正在驗證正在工作的字符串的長度,但所需的字段不起作用。 – 2013-02-22 06:48:03

回答

0

首先,你不需要任何JS庫用於ASP.NET MVC服務器驗證。
其次,你應該檢查控制器,模型是有效的。

if (ModelState.IsValid) { 
    //do something 
} 
return View(); //you can return view with optional parameters 

另外,應該檢查哪方法,您在使用(POST或GET),並檢查該方法在控制器中使用(用於發送數據始終使用POST方法)發送數據。

[HttpPost] 
public ActionResult Index(YourModel model) { 
    if (ModelState.IsValid) { 
     //do something 
    } 
    return View(); 
} 

這是你(Validation.zip)項目:http://sdrv.ms/UP3DIE(我使用VS 2012)
只有一個具有所需的屬性和自定義錯誤消息(型號LocalValidationTestModel)字段。並在視圖有兩種方法用於顯示錯誤:
@ Html.ValidationSummary()和@ Html.ValidationMessageFor(X => x.TestField)

所有JS腳本和CSS樣式板缺。

另外,你爲什麼使用數組?

0

我想你應該引用jQuery的幾個文件。 然後在行動,你必須做一些事情,如:

if(ModelState.IsValid) { //TODO } return View(); 

和行動必須添加屬性[HttpPost]