【发布时间】:2014-11-27 14:19:27
【问题描述】:
如何在我的视图中检查模型中的单个属性是否存在验证错误?
我意识到我可以做到这一点,但它不是强类型的,所以我担心它容易出错:
@if (ViewData.ModelState["MyProperty"].Errors.Count() > 0)
{
// Show validation error
}
【问题讨论】:
标签: c# asp.net-mvc helper strongly-typed-view
如何在我的视图中检查模型中的单个属性是否存在验证错误?
我意识到我可以做到这一点,但它不是强类型的,所以我担心它容易出错:
@if (ViewData.ModelState["MyProperty"].Errors.Count() > 0)
{
// Show validation error
}
【问题讨论】:
标签: c# asp.net-mvc helper strongly-typed-view
你可以这样使用:
public static bool IsValidFor<TModel, TProperty>(this TModel model,
System.Linq.Expressions.Expression<Func<TModel, TProperty>> expression,
ModelStateDictionary modelState)
{
string name = ExpressionHelper.GetExpressionText(expression);
return modelState.IsValidField(name);
}
用法:
if (!model.IsValidFor(x => x.MyProperty, ModelState))
{
// Show validation error
}
礼貌:这个answer
【讨论】: