Я хочу переопределить проверку asp.net-mvc по умолчанию при публикации формы , поэтому я попытался использовать fluent.validation
Я создал класс валидатора (ProjectValidator)
public class ProjectValidator : AbstractValidator<Project>
{
public ProjectValidator()
{
RuleFor(h => h.Application).NotNull().WithName("Application");
RuleFor(h => h.FundingType).NotNull().WithName("Funding Type");
RuleFor(h => h.Description).NotEmpty().WithName("Description");
RuleFor(h => h.Name).NotEmpty().WithName("Project Name");
}
}
я помещаю атрибут в свой класс объектов передачи данных
[Validator(typeof(ProjectValidator))]
public class ProjectViewModel
{
...
}
и помещаю его в application_start ();
DataAnnotationsModelValidatorProvider
.AddImplicitRequiredAttributeForValueTypes = false;
ModelValidatorProviders.Providers.Add(
new FluentValidationModelValidatorProvider(new AttributedValidatorFactory()));
, но когда я публикую форму, которая используетэтот объект, я получаю следующую ошибку:
Метод не найден: 'System.Collections.Generic.IEnumerable`1 FluentValidation.IValidatorDescriptor.GetValidatorsForMember (System.String)'.
есть предложения?