對JSON編碼數據返回true。我有一個表單,唯一需要的項目是客戶名稱。所以在我的模型中,我有:ASP.NET MVC 3 ModelState.IsValid始終使用Ext.Direct
[DisplayName("Customer name*:")]
[Required]
public string CustomerName
{ get; set; }
此前,我在做一個HTML文章,一切正常,包括驗證。
現在,我使用Ext.direct.mvc(http://code.google.com/p/ext-direct-mvc/)(這是一個重要的事實)將表單「ajaxified」,並以Json格式發佈數據,並且數據已成功發佈。
當我把一個斷點在我的代碼(目前修改調試目的):
[DirectInclude]
[HttpPost]
public ActionResult SaveOrUpdateOrderLines(CustomerOrderModel customerOrderModel)
{
if (!ModelState.IsValid)
{
return ModelState.JsonValidation();
}
return null;
我看到CustomerOrderModel.CustomerOrderHeader.CustomerName = 「」
但是ModelState.IsValid是true。
現在對於一些我試過的東西:
我已插入下面的代碼,只需檢查ModelState.isValid之前,爲了確保客戶名稱= NULL
customerOrderModel.CustomerOrderHeader.CustomerName = null;
我一直在使用TryUpdateModel(customerOrderModel)嘗試,但我得到了以下錯誤消息:
TryUpdateModel扔類型的異常「system.missingMethodException而」
我已經試過修改JSON數據等等「根」「CustomerOrderHeader」被重命名爲「customerOrderModel」以匹配參數。
這些都不起作用。那麼,我可能做錯了,驗證不再工作了?我可以採取哪些步驟來調試該問題?
編輯counsellorBen
EDIT 2 counsellorben
好的我找到了這裏詳細的答案http://stackoverflow.com/questions/4465432/asp-net-mvc-2-controllers-tryvalidate-doesnt-validate-the-list-items-within/ 4489226#comment10011080_4489226。 – DavidS 2011-11-17 14:15:48