0

すべての検証エラー メッセージの前にアイコンを追加したいと考えています。私はこれを試しています:

        public static IHtmlString BogusValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expr)
        {
            ModelMetadata metadata = ModelMetadata.FromLambdaExpression<TModel, TProperty>(expr, htmlHelper.ViewData);
            MvcHtmlString validationError = htmlHelper.ValidationMessageFor<TModel, TProperty>(expr);
            var imgErr = new TagBuilder("img");
            imgErr.Attributes.Add("src", "../../Content/images/error.png");
            return new HtmlString(imgErr.ToString() + validationError.ToString());           
        }

私はこれを得る:

<label for="Email">Email address</label>
<input id="Email" type="text" value="" name="Email" data-val-required="The Email address field is required." data-val="true">
<img src="../../Content/images/error.png">
<span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="Email"></span

最初からそのエラー アイコンが表示されます。そのimgをスパン内に配置するにはどうすればよいですか? その InnerHtml プロパティにアクセスするにはどうすればよいですか?

4

1 に答える 1

1

css を使用してスパンに背景画像を適用する方が簡単だと思いますfield-validation-error

.field-validation-error {
    background:url(../../Content/images/error.png) no-repeat left center;
    padding-left:20px; /* or whatever you image size is */
}
于 2012-06-28T18:06:07.930 に答える