C# 用于检查单个属性验证的强类型视图帮助器

C# 用于检查单个属性验证的强类型视图帮助器,c#,asp.net-mvc,helper,strongly-typed-view,C#,Asp.net Mvc,Helper,Strongly Typed View,如何从视图中检查模型中的单个属性是否存在验证错误 我意识到我可以做到这一点,但它不是强类型的,所以我担心它容易出错: @if (ViewData.ModelState["MyProperty"].Errors.Count() > 0) { // Show validation error } 您可以使用以下内容: public static bool IsValidFor<TModel, TProperty>(this TModel model,

如何从视图中检查模型中的单个属性是否存在验证错误

我意识到我可以做到这一点,但它不是强类型的,所以我担心它容易出错:

@if (ViewData.ModelState["MyProperty"].Errors.Count() > 0)
{
    // Show validation error
}

您可以使用以下内容:

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
}