我正在使用第三方组件,我称之为传递模型对象的方法,如果发现任何错误,它将调用一个传递ValidationResult数组的回调方法。我想做的是设置这些错误,以便Html.TextBoxFor将呈现属性class =“input-validation-error”。
目前,我使用我需要的验证属性修饰我的模型类,如果Name为空,它按预期工作,并使Name输入为红色,但如果组件说它因任何原因无效,我有一个新的foreach循环,它将打印错误消息...
我想在这个回调方法中做一些事情,这将使我的视图工作就像我用验证属性装饰我的模型类一样......
这可能吗?
谢谢!
答案 0 :(得分: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....
}