0

我尝试使用 @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));
    }
}

如您所见,如果您提供了验证消息,它将显示出来。

这是一个错误还是有意为之。我该如何规避呢?

4

0 回答 0