我尝试使用 @Html.ValidationMessage() 助手。
如果我只提供模型名称,它只会在出现错误时显示。
如果我提供一个明确的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));
}
}
如您所见,如果您提供了验证消息,它将显示出来。
这是一个错误还是有意为之。我该如何规避呢?