Class | Purpose | Description/Example |
NotNullValidator | Checks to ensure a supplied value is not null. | [NotNullValidator(Ruleset = "Default", MessageTemplateResourceName = "EMPLOYEE_ERR_EMPLOYEE_CODE_NULL", MessageTemplateResourceType = typeof(Properties.MyValidation))] public virtual string EmployeeCode {
|
ContainsCharactersValidator | Checks a string for the presence of the characters specified in the CharacterSet property. (e.g. does not contain any of /\?<>”:) | |
StringLengthValidator | Ensures that the length of a string is within specified limits. (e.g. string is at least 8 characters long) | If business entity is generating any non localized string then you have to replace it with following constant: GLOBAL_VALIDATION_ERROR_STRING_LENGTH And the associated message for "\"{0}\" must be between {3} and {5} characters" Example – output for null Employee Code will be: EmployeeCode must be between 1 and 25 characters Note with {0} it displays property name as-is e.g. EmployeeCode without space in between. If you want property name specific then you need to add constant accordingly in your application resource file. E.g. MY_VALIDATION_ERROR_EMPLOYEE_CODE_STRING_LENGTH And message for Employee Code must be between 1 and 25 characters |
RangeValidator | Checks whether a value falls within a specified range. (e.g. must be from 10-20 or 1/1/1950 to 12/31/1999) | |
DateTimeRangeValidator | Lets you check whether a supplied DateTime object falls within a specified range. | |
RegexValidator | Checks whether a value matches the pattern specified by a regular expression. (e.g. value is a valid e-mail address) | [RegexValidator(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", MessageTemplate = "Invalid Email.", Ruleset = "Default")] public string EmailAddress { |
RelativeDateTimeValidator | Checks whether a value falls within a specified date/time range. (e.g. birth date is more than 18 years ago) | // Check for 18 [RelativeDateTimeValidator(18, DateTimeUnit.Year)] Or // check for 18 to 30 [RelativeDateTimeValidator(18, DateTimeUnit.Year, 30, DateTimeUnit.Year)] |
EnumConversionValidator | Checks whether a string can be converted to an enum. (e.g. string can be converted to a value in the Color enum type) | |
PropertyComparisonValidator | Compares the value of a property with another property. (e.g. StartDate < EndDate) | In the below example the validation will succeed if the [ValidatorComposition(CompositionType.Or)] [PropertyComparisonValidator("EndDate", ComparisonOperator.LessThan)] [PropertyComparisonValidator("DOB", ComparisonOperator.GreaterThan)] public DateTime StartDate { get { return m_StartDate; } set { m_StartDate = value; } } |
TypeConversionValidator | Checks whether a string can be converted to a specific type. (e.g. string can be converted to a DateTime) | [DataMember] private string mydate; [TypeConversionValidator(typeof(DateTime),MessageTemplate="Not a valid date",Ruleset="Default")] public string MyDate { |
DomainValidator | Checks whether a value matches one of a list of supplied values. (e.g. must be one of state from {OH, MI, NY, IL}) | |
ObjectValidator | Validates an object reference. | |
ValidatorComposition | Allows you to create a composite validator by combining one or many validators. You can specify either "And" or "Or" type validation through CompositionType enumeration. | In the below example the validation will succeed if the [ValidatorComposition(CompositionType.Or)] [PropertyComparisonValidator("EndDate", ComparisonOperator.LessThan)] [PropertyComparisonValidator("DOB", ComparisonOperator.GreaterThan)] public DateTime StartDate { get { return m_StartDate; } set { m_StartDate = value; } } |
ObjectCollectionValidator | Ensures that an object is a collection of a given type, and invokes validation on each element in the collection. | |
§ All validation rules can be negated E.g String Length must not be between 5 and 10 characters [StringLengthValidator(5, 10, Ruleset = "Default", MessageTemplate = "Validation Failed",Negated=true)] public virtual string SomeProp { |