Impossible de valider Personne<T> objet à l'aide de FluentValidation

J'ai un code comme ceci

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 Démarrage.cs

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

Il n'y a pas d'erreur et le nombre d'erreurs est à venir zéro même si la règle n'est pas satisfait.

Lorsque je retire ce T de PersonValidator et mise à jour de AbstractValidator<Person<T>> à AbstractValidator<Person<long>> alors qu'il fonctionne très bien.

J'ai ajouté les validateurs PersonValidator. Aussi enregistré validateur comme ci-dessus. J'ai pour valider classe générique, s'il vous plaît aider à comprendre ce qui ne va pas ici, et comment je peux le résoudre.

+1
2019-09-17 08:21:21
source
0 réponses

Voir d'autres questions sur les étiquettes