2

Html.ValidationMessageFor() を利用して、HTML マークアップなしで検証テキストを返す方法はありますか?

現在、このコード:

@Html.ValidationMessageFor(m => m.SomeProperty)

これを返します:

<span class="field-validation-error" data-valmsg-for="Model.SomeProperty" data-valmsg-replace="true">This field is required.</span>

そして、私はこれをはるかに好みます:

This field is required.
4

2 に答える 2

2

m0s のコメントは、この StackOverflow の質問/回答を示してくれました。( ASP.NET MVC でモデル状態エラーのコレクションを取得するにはどうすればよいですか? )

これはおそらく冗長ですが、これが私の実用的なソリューションです:

@if (ViewData.ModelState.ContainsKey("SomeProperty))
{
     @Html.TextBoxFor(m => m.SomeProperty), 
          new {
               @some_attribute = ViewData.ModelState["SomeProperty"].Errors[0].ErrorMessage })     
}

明らかに、最初のエラーに対処する前に、ModelState にエラーがあることを確認する必要があります。私の場合、これは常に true になります。

于 2013-05-07T20:57:22.460 に答える