Não é possível validar a Pessoa<T> objeto usando FluentValidation

Eu tenho um código como este

public class Person<T>
    {
        public Person()
        {
            Result = default(T);
        }
        public bool IsValid { get; set; }
        public T Result { get; set; }
        public int StatusCode { get; set; }
    }
public class PersonValidator<T> : AbstractValidator<Person<T>>
    {
        public PersonValidator()
        {
            RuleFor(r => r.StatusCode).GreaterThan(0);

        }
    }

na Inicialização.cs

mvcBuilder.AddFluentValidation(fv => fv.RegisterValidatorsFromAssemblyContaining(typeof(PersonValidator<>)));

Não há nenhum erro e erro de contagem está chegando a zero, mesmo que a regra não está satisfeito.

Quando eu remover esse T de PersonValidator e atualização de AbstractValidator<Person<T>> para AbstractValidator<Person<long>>, então ele funciona muito bem.

Eu adicionei validadores como PersonValidator. Também registado validador como acima. Eu tenho que validar classe genérica, por favor, ajudar a entender o que está acontecendo de errado aqui, e como posso corrigi-lo.

+1
2019-09-17 08:21:21
origem
0 respostas

Veja mais perguntas por marcas