Pages

2012/05/09

[ASP.NET MVC 3] バリデーション実装


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)
登録情報 名前: @Html.TextBox("Name", Model.Name) @Html.ValidationMessageFor(m => m.Name, "*") 年齢: @Html.TextBox("Age", Model.Age.ToString()) @Html.ValidationMessageFor(m => m.Age, "*")
@Html.ValidationSummary(false) が、Web コントロールでいうところの ValidationSummary にあたる。それぞれのコントロールに設定してある @Html.ValidationMessageFor(m => m.Name, "*") が Validator といったところか。
一番簡単なバリデーションは、これで実装できる。

MVC3 のバリデーションについては、以下の記事が参考になる。
連載:ASP.NET MVC入門【バージョン3対応】 第3回 モデル・バインドとアノテーション検証の実装 - @IT
Related Posts Plugin for WordPress, Blogger...