diff --git a/src/Nancy.Validation.DataAnnotatioins.Tests/DataAnnotationValidatorFixture.cs b/src/Nancy.Validation.DataAnnotatioins.Tests/DataAnnotationValidatorFixture.cs index a2db4b28af..c2f89c6d19 100644 --- a/src/Nancy.Validation.DataAnnotatioins.Tests/DataAnnotationValidatorFixture.cs +++ b/src/Nancy.Validation.DataAnnotatioins.Tests/DataAnnotationValidatorFixture.cs @@ -142,7 +142,7 @@ private class OopsValidationAttribute : ValidationAttribute { protected override ValidationResult IsValid(object value, ValidationContext validationContext) { - return new ValidationResult("Oops"); + return new ValidationResult("Oops", new[] { string.Empty }); } } diff --git a/src/Nancy.Validation.DataAnnotations/DataAnnotationsValidatorAdapter.cs b/src/Nancy.Validation.DataAnnotations/DataAnnotationsValidatorAdapter.cs index 738b4abcee..f93246b215 100644 --- a/src/Nancy.Validation.DataAnnotations/DataAnnotationsValidatorAdapter.cs +++ b/src/Nancy.Validation.DataAnnotations/DataAnnotationsValidatorAdapter.cs @@ -38,7 +38,7 @@ protected DataAnnotationsValidatorAdapter(string ruleType) /// An of instances. public virtual IEnumerable GetRules(ValidationAttribute attribute, PropertyDescriptor descriptor) { - yield return new ModelValidationRule(ruleType, attribute.FormatErrorMessage, descriptor == null ? null : new[] { descriptor.Name }); + yield return new ModelValidationRule(ruleType, attribute.FormatErrorMessage, new [] { descriptor == null ? string.Empty : descriptor.Name }); } /// diff --git a/src/Nancy.Validation.DataAnnotations/DefaultPropertyValidatorFactory.cs b/src/Nancy.Validation.DataAnnotations/DefaultPropertyValidatorFactory.cs index a2e79bfb55..a218cd083b 100644 --- a/src/Nancy.Validation.DataAnnotations/DefaultPropertyValidatorFactory.cs +++ b/src/Nancy.Validation.DataAnnotations/DefaultPropertyValidatorFactory.cs @@ -38,6 +38,17 @@ public IEnumerable GetValidators(Type type) var results = new List(); + var classAttributes = + typeDescriptor.GetAttributes().OfType(); + + var classValidator = + new PropertyValidator + { + AttributeAdaptors = this.GetAttributeAdaptors(classAttributes) + }; + + results.Add(classValidator); + foreach (PropertyDescriptor descriptor in propertyDescriptors) { var attributes =