1

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 値の代わりに必要です

誰かがこれを解決する方法を提案できますか?

4

0 に答える 0