2011-05-19 73 views
2

我正在使用第三方組件來調用傳遞模型對象的方法,如果發現任何錯誤,它將調用傳遞一個ValidationResult數組的回調方法。我想要做的是設置這些錯誤,以便Html.TextBoxFor將呈現屬性class =「input-validation-error」。現在,我用我需要的驗證屬性來裝飾我的模型類,如果名稱爲空,它將按預期工作,並使名稱輸入爲紅色,但如果組件表示它由於任何原因而無效,我有一個新的foreach循環,將打印錯誤消息...以編程方式爲MVC創建自定義錯誤

我想在這個回調方法中做一些事情,這將使我的視圖工作,就像我用驗證屬性裝飾我的模型類一樣。 ..

這可能嗎?

謝謝!

回答

1

您可以在控制器內使用ModelState.AddModelError(string,string)。

// .. the model 
public class MyModel { public string Property { get; set; } } 

// .. in the controller 
public ActionResult DoSomething(MyModel x) 
{ 
    if(x.Property == "2") 
    { 
     ModelState.AddModelError("Property", "2 is not allowed"); 
     return View("EditorView", x); 
    } 
    // else.... 
} 
+0

正是我所需要的!謝謝! – Bruno 2011-05-19 22:36:44

相關問題