• Getting Started with NValidator
    • Creating a new validator for your domain model
    • Adding rules
    • Rules for nested object
    • Rules for nested type in a collection
    • Reuse rules for complex types using SetValidator
    • Reuse rules for complex types using CompositeValidator
    • Manually specify rules for nested type in collection using ForEach
    • Manually specify rules for nested type in collection using RuleForEach
    • Specify shared rules for properties with the same data type
  • Built-in validators
    • In() Validator
    • Allow() Validator
    • Null() Validator
    • NotNull() Validator
    • NotEmpty() Validator
    • Length() Validator
    • NotEqual() Validator
    • Equal() Validator
    • LessThan() Validator
    • LessThanOrEqual() Validator
    • GreaterThan() Validator
    • GreaterThanOrEqual() Validator
    • Must() Validator
    • Match() Validator
    • Email() Validator
    • ValidateUsing() Validator
    • Not() Validator
    • Apply custom validator by calling SetValidator()
  • Customize rules
    • StopOnFirstError()
    • When()
    • Unless()
    • Set a condition on a group of rules
    • IgnoreValidation()
    • WithMessage()
    • AllWithMessage()
  • Create your own validator
    • Basic interfaces and abstract classes
    • INegatableValidator<T> and BaseNegatableValidator<T>
    • Other built-in abstract classes
    • Make your custom validator visible in the chain

  • Advanced topics
    • ValidatorBuilder
    • Custom TypeValidator and CompositeValidator
    • ValidatorFactory
    • Error message provider and Localization
    • Validation in WCF application with NValidator
    • NValidator with ASP.NET MVC (Not yet supported)
    • NValidator with an IoC container (TBA)