0

現在、次のスニペットを取得しています。

@Html.EditorFor(model => model.Street, new { htmlAttributes = new { @class = "form-control tooltp", placeholder = "Rue *", autofocus = "autofocus", data_tooltip_content = "#Street_content" } })
@if (ViewData.ModelState["Street"] != null && ViewData.ModelState["Street"].Errors.Any())
{
    <div class="tooltip_templates">
        <div id="street_content">
            @Html.ValidationMessageFor(model => model.Street)
        </div>
    </div>
}

これを再利用可能にするにはどうすればよいですか?MVC ヘルパーを作成しますか? 部分表示?不可能です?

このようなソリューションがあれば、さまざまな分野で使用できるようになりたいと考えています。ツールチップ メッセージに tooltipster を使用しています。if ステートメントがない場合、ツールチップには空の文字列が含まれます (ただし、表示されます)。

たとえば、これを行うことができるソリューションが必要です

@ErrorHelper.ShowError("Street")
4

1 に答える 1

1

ブートストラップ クラス スタイルを自動追加する独自の検証メッセージ ヘルパーがあります。

public static MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, string tag)
{
    return htmlHelper.ValidationMessage(tag, new { @class = "text-danger" });
}
public static MvcHtmlString MyValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
{
    return htmlHelper.ValidationMessageFor(expression, "", new { @class = "text-danger" });
}

のように使用されます@Html.MyValidationMessageFor(x => x.Street)

これを簡単に適応させて、メタデータが null かどうかを確認し、そうである場合は何も返さないことができます。

于 2016-08-22T13:33:05.737 に答える