[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

このブログの人気の投稿

Excel で入力した文字に勝手に取り消し線が入る

コピーした行の挿入が表示されない時はフィルタされていないかチェック