- ContainsCharactersAttribute: Performs validation on strings by verifying if it contains a character set using the ContainsCharacters mode.
- DateTimeRangeValidatorAttribute: Performs validation on DateTime instances by comparing them to the specified boundaries.
- DomainValidatorAttribute: Validates an object by checking if it belongs to a set.
- EnumConversionValidatorAttribute: Validates a string by checking it represents a value for a given enum type.
- HasSelfValidationAttribute: Indicates the target type defines self validation methods.
- IgnoreNullsAttribute: Indicates that a null value is to be allowed by the validator represented by the validation attributes for the language element this attribute is bound.
- NotNullValidatorAttribute: Logs a failure when validating a null reference.
- ObjectCollectionValidatorAttribute: Performs validation on collection objects by applying the validation rules specified for a supplied type to its members.
- ObjectValidatorAttribute: Performs validation on objects by applying the validation rules specified for a supplied type.
- PropertyComparisonValidatorAttribute: Performs validation by comparing the a value with the value of a property on the target object by using a specified comparison operation.
- RangeValidatorAttribute: Performs validation on instances by comparing them to the specified boundaries.
- RegexValidatorAttribute: Performs validation on strings by matching them to a Regex.
- RelativeDateTimeValidatorAttribute: Validates a DateTime value by checking it belongs to a range relative to the current date.
- SelfValidationAttribute: Marks a method as implementing self validation logic. Used in conjunction with HasSelfValidationAttribute.
- StringLengthValidatorAttribute: Performs validation on strings by comparing their lengths to the specified boundaries.
- TypeConversionValidatorAttribute: Validates a string by checking it represents a value for a given type.
- ValidatorCompositeAttribute: Indicates that the kind of composition to use when multiple ValidatorAttribute instances are bound to a language element.
It is very easy to define your own validators: just inherit from BaseValidationAttribute and implement your own validation logic.
The only drawback is that the page is always posted, that is, there is no JavaScript client validation, but you can place this inside an UpdatePanel, and it works just fine.