如何在验证失败时将css添加到单个mvc Helper方法 - 从模型中

时间:2012-04-04 05:12:58

标签: css asp.net-mvc validation razor html-helper

在验证失败时,有没有人有一种简单的方法可以将hss标签添加到html标签,最好是从在模型中,在公共IEnumerable Validate(ValidationContext context)中添加覆盖,而不是使用jQuery或在Controller中。

我的验证总结给了我错误信息,我只想把*放在失败的输入旁边,并使其标签文字变为粗体和红色。

    @Html.LabelFor(model => model.Name)
    <div class="editor-field">
        @Html.EditorFor(model => model.Name)<br/><br />
    </div>

2 个答案:

答案 0 :(得分:1)

如果您还没有找到解决方案,请查看http://weblogs.asp.net/imranbaloch/archive/2010/07/03/asp-net-mvc-labelfor-helper-with-htmlattributes.aspx

它编码支持HTML属性的LabelFor的HTML Helper扩展。您可以使用此代码作为模板来修改您的需求。一种选择是检测是否发生了验证错误。几天前我写了类似的东西:

    public static string IsInvalidFor<TModel, TValue>(
        this HtmlHelper<TModel> htmlHelper,            
        Expression<Func<TModel, TValue>> expression, 
        string cssErrorClass)
    {
        if (ValidationExtensions.ValidationMessageFor(htmlHelper, expression) != null) 
             return cssErrorClass;
        else return "";
    }

答案 1 :(得分:0)

如果您想在.cs文件中执行此模型,则只需附加此

            string name = //ur name property//;
            oppdesc = "";               
            oppdesc += "<span class ="error"+ "\">" +      name+ "</span>";

并且你在ur css中将类错误定义为粗体和红色。