2012-02-15 75 views
1

有沒有人遇到過不使用MVC3的表單驗證?ASP.NET MVC 3數據驗證不會觸發

我的模型標記後的相關屬性,e.g:

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

的觀點也可作爲適當的標記:

@Html.TextBoxFor(x=>x.Name) 
@Html.ValidationMessageFor(x=>x.Name) 

然而,驗證消息永遠不會顯示。我可以從生成的HTML中看到它已經放入了用於驗證的span標記,但它們被標記爲有效而不是錯誤。似乎模型上的驗證沒有被調用。任何可能發生這種情況的原因?

回答

1

您是否擁有View的必要驗證JavaScript文件?

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> 

這些或者需要住在View使用的佈局(如果使用任何)或View本身。這些JavaScript/jQuery文件是控制客戶端驗證的東西。

另外,在您的POST方法中,您的Model是否有效(由ModelState.IsValid boolean屬性測試)?

+0

我忘記了我在其他地方清除了ModelState – 2012-02-15 15:12:07