1
我將項目從MVC2升級到MVC3,並且所有自定義ValidationAttributes都打破了。在模型中的粘結相的某個時刻,它拋出此異常:MVC3 ValidationAttribute break
Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: value
System.ComponentModel.DataAnnotations.ValidationContext.set_DisplayName(String value)
我無法弄清楚什麼樣的變化......沒有顯示名稱..
我懷疑IsValid的覆蓋,這理應以某種方式改變,但簽名是相同的。
public override bool IsValid(object value)
{
....
}
更多信息:
它顯然影響 「AttributeTargets.Class」 屬性,如:
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class MyValidationAttribute : ValidationAttribute {}