MVC6 TagHelper で、2 つのテキスト ボックスとそのバインド モデルを作成しました。1 つのテキスト ボックスは string 型、もう 1 つは int 型のカスタム エラー メッセージで、ポストバック中にデータ注釈で指定されたカスタム エラー メッセージが適切にレンダリングされません。ストリング。
私のコントローラーは
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
[HttpPost]
public IActionResult Index(Sample model)
{
return View(model);
}
}
モデルクラスは
public class Sample
{
[Required(ErrorMessage = "String value is needed")]
public string StringValue { get; set; }
[Required(ErrorMessage = "Int value is needed")]
public int IntValue { get; set; }
}
そして私のHtmlタグヘルパーコードは
@model ValidationMessage.Models.Sample
<form method="post" action="/Home/Index">
<label>String</label>
<input asp-for="StringValue" type="text" />
<span asp-validation-for="StringValue"></span>
<br />
<label>Int</label>
<input asp-for="IntValue" type="text" />
<span asp-validation-for="IntValue"></span>
<br />
<input type="submit" />
</form>
ここでは、サーバー側の検証のみをチェックしています。送信ボタンをクリックすると、最初のテキスト ボックスのスパン検証で文字列値が必要と表示されますが、2 番目のテキスト ボックスのスパン検証で値 '' が無効であると表示されます。Int 値の代わりに必要です
誰かがこれを解決する方法を提案できますか?