ASP.NET Core验证标记帮助程序奇怪的行为

时间:2016-10-17 21:38:44

标签: jquery asp.net validation asp.net-core asp.net-core-mvc

今天我发现在测试验证消息时,ASP.NET Core taghelper出现了奇怪的行为。

我没有jquery-validate和jquery-validate-unobtrusive。

这很好用:

<span asp-validation-for="Name" class="text-danger"></span>

这不起作用:

<span asp-validation-for="Name" class="text-danger" />

知道为什么吗?! 这是一个错误吗?

感谢您的投入!

1 个答案:

答案 0 :(得分:1)

@Jonathan是正确的 - 这是一个自动关闭的无效元素。使标签自动关闭表示它是void element - 意味着标签内部没有内容。 Span标签完全有内容!

但是,它在Core中不起作用的原因是because what happens on this line。使用自动结算标记时,TagMode变量上的output属性设置为SelfClosing,而TagBuilder不会放置任何消息内容到它(因为它是一个没有内容的空元素)。

最后</span>,模式更改为StartTagAndEndTag,内容已正确添加。