2

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

我的验证摘要给了我错误消息,我只想将 * 放在失败的输入旁边,并使其标签文本变为粗体和红色。

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

2 回答 2

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 "";
    }
于 2012-07-19T14:16:12.940 回答
0

如果您想在这种情况下在 .cs 文件模型中执行此操作,只需附加此

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

并且您在您的 CSS 中将类错误定义为粗体和红色。

于 2012-04-04T07:47:50.603 回答