Validation rule that compares two object properties.
Inherits: IValidationRule
Description
The PropertiesComparisonRule class allows you to create a validation rule to compare two object properties.
Constructors
Creates a new validation rule and sets its arguments. See ObjectComparator.compare
public
PropertiesComparisonRule(string property1, string operation, string property2)
- property1: string - name of the first property to compare.
- operation: string - comparison operation: "==" ("=", “EQ”), “!= " ("<>”, “NE”); “<"/">” (“LT”/“GT”), “<="/">=” (“LE”/“GE”); “LIKE”.
- property2: string - name of the second property to compare.
Instance methods
Validate
Validates a given value against this rule.
public
void Validate(string path, Schema schema, object value, List<ValidationResult> results)
- path: string - path to the value in dot notation.
- schema: Schema - schema this rule is called from
- value: object - value to be validated.
- results: List<ValidationResult> - list with validation results to add new results.
Examples
var schema = new ObjectSchema().WithRule(new PropertyComparisonRule("field1", "NE", "field2"));
schema.Validate({ field1: 1, field2: 2 }); // Result: no errors
schema.Validate({ field1: 1, field2: 1 }); // Result: field1 shall not be equal to field2
schema.Validate({ }); // Result: no errors