仕事忙しくてブログを纏める時間がないんですわー。
明日からの 3 連休はキャンプに行けるようにがんばる。
ところで煮詰まってるんでぶつくさ言わせて欲しい。
詳細は全てはしょるけど,ASP.NET MVC 4 の DataAnnotations で CompareAttribute をつけたモデルの検証で,検証失敗させても ErrorMessage に与えた文字列がブラウザに表示されなくて悩んでるんだよね。
リソースにしても変わらないし CompareAttribute のカスタムはほとんど 1 から作る感じっぽいし。どうしようかな。
Model はこんな感じ。
public class FugaViewModel { [DataType(DataType.Password)] [Required(ErrorMessage = "パスは必須だよ")] [RegularExpression(@".{8,}", ErrorMessage = "8 文字以上入れなよ")] [Display(Name = "ぱすわーど")] public string Password { get; set; } } public class HogeViewModel : FugaViewModel { [DataType(DataType.Password)] [Required(ErrorMessage = "確認用パスワード入れなよ")] [Compare("Password", ErrorMessage = "上とパスワード違うぞ")] [Display(Name = "ぱすわーど (確認)")] public string PasswordForConfirm { get; set; } }
で,"ぱすわーど (確認)" 欄の内容が "ぱすわーど" と違うときは 「上とパスワード違うぞ」 ってエラー表示して欲しいんだけど,「'ぱすわーど (確認)' と 'ぱすわーど' が一致しません。」 っていうデフォルトのメッセージになるんだよね。
どうしたもんか。