0

@ Html.ValidationMessage()ヘルパーを使用しようとしています。

modelNameのみを指定すると、エラーが発生した場合にのみ表示されます。

明示的なvalidationMessageを指定すると、(フィールドが有効な場合でも)何があっても表示されます。

@Html.ValidationMessage("elem_" + i, "This will show up no matter what!")

これは説明に反します。

System.Web.Mvc.Html.ValidationExtensions.ValidationMessageHelper関数から(私はそれをILSpiedしました):

if (!string.IsNullOrEmpty(validationMessage))
{
    tagBuilder.SetInnerText(validationMessage);
}
else
{
    if (modelError != null)
    {
        tagBuilder.SetInnerText(ValidationExtensions.GetUserErrorMessageOrDefault(htmlHelper.ViewContext.HttpContext, modelError, modelState));
    }
}

ご覧のとおり、validationMessageを指定すると表示されます。

これはバグですか、それとも意図されたものですか。そして、どうすればこれを回避できますか?

4

0 に答える 0