DataAnnotations不適用於好友類。以下代碼總是驗證爲真。爲什麼?當我使用Validator.TryValidateObject時,驗證不起作用
var isValid = Validator.TryValidateObject(new Customer(),Context,results,true);
這裏是好友類。
public partial class Customer
{
public string Name { get; set; }
public int Age { get; set; }
}
[MetadataType(typeof(CustomerMetaData))]
public partial class Customer
{
public class CustomerMetaData
{
[Required(ErrorMessage = "You must supply a name for a customer.")]
public string Name { get; set; }
}
}
這是另一個有同樣問題的線程,但沒有答案。 link text
我對此不太確定,但我認爲您不應該嵌套這些類。此外,我認爲這可能會使CustomMetaData類無法訪問公共關鍵字。嘗試將CustomerMetaData移出客戶類並公開。 – Alxandr 2010-03-11 01:56:41
即使將CustomerMetaData移出Customer類並聲明爲公共,它也不起作用。 TryValidateObject支持buddyclass(MetadataType)嗎? – ashraf 2010-03-11 02:10:53