2016-10-17 9 views
0

今日、私は検証メッセージをテストするときにASP.NET Core taghelperの奇妙な動作に気付きました。ASP.NETコア検証タグヘルパーの奇妙な動作

私はjquery-validateとjquery-validate-unobtrusiveを適所に持っていません。

これは正常に動作します:

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

これが動作していません。

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

任意のアイデアなぜ? これはバグですか?

あなたのご意見ありがとうございます!

+0

可能な複製http://stackoverflow.com/questions/2816833/can-a-span-be-closed-using-span – Jonathan

+0

ありがとう!それはまた、HTML 5で無効であることを知らなかった... – Simon

答えて

1

@Jonathanが正しい - これは自己閉鎖する無効な要素です。タグを自己閉鎖すると、それはvoid elementであることを意味します。つまり、タグには内容がありません。スパンタグは完全に内容を持っています!

ただし、コアで動作しない理由はbecause what happens on this lineです。自己終了型のタグの場合、output変数のTagModeプロパティはSelfClosingに設定され、TagBuilderは内容を持たない空の要素であるためメッセージコンテンツを入れません。

最後に</span>を指定すると、モードがStartTagAndEndTagに変更され、コンテンツが正しく追加されます。