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:
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
Performing custom validation
The easiest way to...