ASP.NET Web フォームでは、バリデーションのコントローラーを配置して、すぐにできたものだったが、ASP.NET MVC では多少やり方が異なる。いくつか方法があるようだが、今回はモデル側で発生したエラーを表示する方法を試してみた。
Model
public class UserInfo
{
[Display(Name = "年齢")]
[Required(ErrorMessage = "年齢が入力されていません。")]
public int Age { get; set; }
[Display(Name = "名前")]
[Required(ErrorMessage = "名前が入力されていません。")]
public string Name { get; set; }
}
View
@Html.ValidationSummary(false) が、Web コントロールでいうところの ValidationSummary にあたる。それぞれのコントロールに設定してある @Html.ValidationMessageFor(m => m.Name, "*") が Validator といったところか。バリデーション・サンプル
@Html.ValidationSummary(false)
一番簡単なバリデーションは、これで実装できる。
MVC3 のバリデーションについては、以下の記事が参考になる。
連載:ASP.NET MVC入門【バージョン3対応】 第3回 モデル・バインドとアノテーション検証の実装 - @IT

