2013-08-27 69 views
0

這裏有比較的兩個屬性:如何使用比較屬性的顯示名稱與比較屬性?

[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屬性的顯示名稱?

回答

1

花了一段時間才弄清楚這一點,但顯然我使用了錯誤的Compare屬性。

我的初始聲明是使用System.ComponentModel.DataAnnotations中的Compare,而在System.Web.Mvc中定義了正確的聲明。

DataAnnotations.Compare不具備相同的功能,但非常愚蠢的是,有兩個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; } 

希望這有助於別人,因爲它確實這樣做了挫敗了我的地獄。這就是生活。

+1

這些(和其他)屬性的半冗餘也一直讓我惱火。 –

+0

很高興我不是唯一一個看到這種方式的人。充其量,微軟應該很清楚地表明,有兩個,他們都做不同的事情。 – Kehlan