Validating data
FluentValidation allows you to define strongly typed validation rules in a human-readable way.
You create a validator for a type by inheriting from AbstractValidator<T>
, where T
is the type that you want to validate. In the constructor, you call the RuleFor
method to define one or more rules. If a rule should run only in specified scenarios, then you call the When
method.
Understanding the built-in validators
FluentValidation ships with lots of useful built-in validator extension methods for defining rules, as shown in the following partial list, some of which you will explore in the coding task in this section:
Null
,NotNull
,Empty
,NotEmpty
Equal
,NotEqual
Length
,MaxLength
,MinLength
LessThan
,LessThanOrEqualTo
,GreaterThan
,GreaterThanOrEqualTo
InclusiveBetween
,ExclusiveBetween
ScalePrecision
Must
(aka predicate)Matches
(aka regular expression),EmailAddress
,CreditCard
IsInEnum
,IsEnumName...