0

比較する 2 つのプロパティを次に示します。

[Required]
[Display(Name = "Current Password")]
public string Current { get; set; }

[Required]
[Compare("New")]
[Display(Name = "New Password")]
public string New { get; set; }

検証メッセージは次のようになります。

'Confirm Password' and 'New' do not match.

Newこの属性を取得して、プロパティの表示名を使用するにはどうすればよいですか?

4

1 に答える 1

1

これを理解するのにしばらく時間がかかりましたが、どうやら間違ったCompare属性を使用していたようです。

私の最初の宣言は、Compare見つかった を使用していましたSystem.ComponentModel.DataAnnotationsが、適切なものは で定義されていSystem.Web.Mvcます。

DataAnnotations.Compare同じ機能を持っていないのはかなりばかげていますが、そもそも 2 つのCompare属性があるのもまたかなりばかげています。

これは適切な実装です:

[Required]
[Display(Name = "New Password")]
public string New { get; set; }

[System.Web.Mvc.Compare("New")]
[Display(Name = "Confirm Password")]
public string ConfirmPassword { get; set; }

それは確かに私をイライラさせたので、これが他の誰かを助けることを願っています. C'est la vie.

于 2013-08-27T18:52:36.793 に答える