【问题标题】:Strongly Typed View Helper to Check Validation of a single property用于检查单个属性验证的强类型视图助手
【发布时间】:2014-11-27 14:19:27
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# asp.net-mvc helper strongly-typed-view


    【解决方案1】:

    你可以这样使用:

    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

    【讨论】:

    • 谢谢!我要试一试。当我知道它是正确的时,我会标记它是正确的。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多