パスワードの変更に使用される ViewModel があり、Compare
次のように DataAnnotation を使用します。
[Display(Name = "New Password")]
public string New { get; set; }
[Compare("New")]
[Display(Name = "Confirm Password")]
public string ConfirmPassword { get; set; }
残念ながら、属性は比較されたプロパティCompare
の属性を利用していません。Display
エラー メッセージは次のように表示されます。
'Confirm Password' and 'New' do not match.
これは比較プロパティの属性を使用していますが、比較プロパティのDisplay
属性は使用していません。
また、パラメーターを使用しないことも指定しますErrorMessage
。これは、プロパティ名を既存の属性から取得するだけでなく、ハードコーディングすることになるためです。このソリューションを可能な限りベストプラクティスとして維持したいと思います。
比較したプロパティCompare
の属性を利用する属性を作成するにはどうすればよいですか?Display