クライアントが各フィールドでよりカスタマイズされたhtml検証エラーを望んでいる場合があります。これはかなり簡単だと思ったので、これが私の最初のアプローチでした
public static MvcHtmlString MyValidationMessage(this HtmlHelper helper, string modelName, object htmlAttributes)
{
if (!helper.ViewData.ModelState.ContainsKey(modelName))
{
return new MvcHtmlString("");
}
TagBuilder builder = new TagBuilder("div");
builder.AddCssClass("my-validation-message");
builder.MergeAttributes(HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes));
builder.InnerHtml += "<b>Custom</b>";
builder.InnerHtml += helper.ValidationMessage(modelName);
return new MvcHtmlString(builder.ToString());
}
これは、JQuery検証と統合されていないため、実際には機能しませんでした。クライアント側のjquery検証フレームワークでさらに作業することを検討することにしたので、これを試しました...
$.validator.setDefaults({
errorPlacement: function(error, element) {
debugger;
}
});
そして、デバッガーをヒットさせることさえできませんでした。
私はMVC4を使用しています
注:これは別の質問の重複である可能性があることは知っていますが、答えは不十分でした。