私のユーザーの編集では、パスワードと繰り返しパスワードが同じであることを確認する必要があります。私は "比較"バリデーターを見つけましたが、私はそれを動作させることはできません。Asp.Net MVC 3:サブプロパティのバリデータを比較しますか?
私のモデルは、次のようになります。
public class UserEditionViewModel{
[Compare("User.Password")]
public String RepeatPassword{get;set;}
public User User {get;set;}
public List<Language> AvailableLanguages{get;set;}
public List<Country> AvailableCountries{get;set;}
}
とUserモデル:ビューで
public class User{
[Required]
public String Name{get;set;}
//lot of other properties omitted...
[RegularExpression(@"(|.*(?=.{6,})(?=.*\d)(?=.*[a-zA-Z]).*)", ErrorMessageResourceType = typeof(LocalizationResources.Views.User.Edition), ErrorMessageResourceName = "InvalidPassword")]
//And I've localization attributes
public String Password{get;set;}
}
私だけのようなものがあります。
@Html.PasswordFor(m=>m.User.Password)
@Html.PasswordFor(m=>m.RepeatPassword)
をしかし、私が今まで取得2つの項目が一致していてもこのエラー:
'Password repeat' and 'User.Password' do not match.
クライアントの検証中にこのエラーが発生しました。
私にとって、最も明白なエラーは、サブプロパティが見つからないということです。私は正しい?はいの場合、この動作を回避する方法。いいえ、問題は何ですか?