2
我在寫一個驗證屬性,它坐落在類上,但檢查類的屬性。我希望它爲每個它認爲無效的屬性設置驗證消息。我該怎麼做呢?如何動態設置具有類驗證屬性的屬性的驗證消息
這是我這麼遠:
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
public class LinkedFieldValidationAttribute : ValidationAttribute
{
private readonly string[] _properiesToValidate;
public LinkedFieldValidationAttribute(params string[] properiesToValidate)
{
_properiesToValidate = properiesToValidate;
}
public override bool IsValid(object value)
{
PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(value);
foreach (var propertyName in _properiesToValidate)
{
var propertyValue = properties.Find(propertyName, false).GetValue(value);
//if value is invalid add message from base
}
//return validity
}
}
這似乎是.net 4.0,有沒有3.5方法? – Dan 2010-04-19 14:40:36
我不知道。你可以嘗試設置'ErrorMessage'。 – 2010-04-19 15:09:11
ErrorMessage只是一個字符串 - 沒有辦法設置它與類屬性之間的關聯,我不認爲? – Dan 2010-04-19 15:39:40