Validatortypen
Im folgenden sind die häufig benutzten Validatortypen mit den dazugehörigen FluentValidation-Constraints definiert.
Es können auch alle andere Regeln bzw. Validatoren formuliert werden, die in der FluentValidation-API (aktuell 6.4.1) zur Verfügung stehen (https://docs.fluentvalidation.net/en/latest/).
Accurate
RuleFor(person => person.Age).Accurate(scale: 10, precision: 2);
Contains
RuleFor(person => person.FirstName).Contains("Bart"); RuleFor(person => person.FullName).Contains(person => person.LastName);
Equal
RuleFor(person => person.FirstName).Equal("Bart"); RuleFor(person => person.FullName).Equal(person => person.LastName);
ExclusiveBetween
RuleFor(person => person.Age).ExclusiveBetween(from: 18, to: 70); RuleFor(person => person.Age).ExclusiveBetween(person => person.From, person => person.To);
GreaterThanOrEqualTo
RuleFor(person => person.Age).GreaterThanOrEqualTo(18); RuleFor(person => person.Age).GreaterThanOrEqualTo(person => person.From);
GreaterThan
RuleFor(person => person.Age).GreaterThan(18); RuleFor(person => person.Age).GreaterThan(person => person.From);
InclusiveBetween
RuleFor(person => person.Age).InclusiveBetween(from: 18, to: 70); RuleFor(person => person.Age).InclusiveBetween(person => person.From, person => person.To);
In
RuleFor(person => person.Hobbies).In( List<string> { "Skateboarding", "Streiche spielen" }); RuleFor(person => person.Hobbies).In(person => person.PossibleHobbies);
Length
RuleFor(person => person.FirstName).Length(exactLength: 5); RuleFor(person => person.FirstName).Length(min: 2, max: 7); RuleFor(person => person.Hobbies).Length(exactSize: 5); RuleFor(person => person.Hobbies).Length(minSize: 2, maxSize: 7);
LessThanOrEqualTo
RuleFor(person => person.Age).LessThanOrEqualTo(20); RuleFor(person => person.Age).LessThanOrEqualTo(person => person.To);
LessThan
RuleFor(person => person.Age).LessThan(20); RuleFor(person => person.Age).LessThan(person => person.To);
Matches
RuleFor(person => person.FirstName).Matches("[a-z]+"); RuleFor(person => person.FirstName).Matches(person => person.FirstNameRegEx);
NotEmpty
RuleFor(person => person.FirstName).NotEmpty();
NotDeleted
RuleFor(person => person.Address).Must(x => !x.Deleted);
NotEqual
RuleFor(person => person.FirstName).NotEqual("Homer"); RuleFor(person => person.FirstName).NotEqual(person => person.InvalidName);
Required
// Für leere Strings RuleFor(person => person.FirstName).NotEmpty(); // Für Referenztypen RuleFor(person => person.Parent).NotNull();