asp.net mvc使用IValidatableObject添加ModelState错误

时间:2018-01-11 23:09:36

标签: asp.net-mvc validation ivalidatableobject

我看到this nice blog描述了向asp.net mvc viewmodel添加条件验证。但是,我不确定如何将验证错误添加/绑定到特定模型的属性。我希望将错误消息添加到我的普通ModelState对象中,以便在我的视图中显示错误:

ValidationMessageFor(model => model.FirstName)

我想如果我从ValidateMethod(..)访问ModelState对象那么我就可以这样做:

ModelState.AddModelError("FirstName", "First name is required");

一切顺利。我试图添加条件验证。

之前是否有人这样做可以提供一些见解?我尝试了博客中的代码,但似乎不完整。

谢谢!

1 个答案:

答案 0 :(得分:0)

我需要使用Stephen提到的博客中缺少的重载:

yield return new ValidationResult(".....", new[]{ "Property1" })