No se puede validar la Persona<T> objeto utilizando FluentValidation

Tengo un 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);

        }
    }

en el Inicio.cs

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

No hay ningún error y la cantidad de errores es próximo a cero aun cuando la regla no está satisfecho.

Cuando me quite el T de PersonValidator y actualización de AbstractValidator<Person<T>> a AbstractValidator<Person<long>> entonces funciona bien.

He añadido validadores PersonValidator. También se registró un validador que el anterior. Tengo que validar clase genérica, por favor ayuda a entender lo que va mal aquí, y cómo puedo solucionarlo.

+1
2019-09-17 08:21:21
fuente
0 respuestas

Vea otras preguntas sobre etiquetas