Validation rule that checks that only one property of a list of properties exists in an object.
Implements: IValidationRule
Description
The OnlyOneExistsRule allows you to check that only one property of a list of properties exists in an object.
Constructors
Creates a new validation rule and sets its values.
publicOnlyOneExistsRule(String… properties)
- properties: String… - list of property names where only one property must exist
 
Instance methods
validate
Validates a given value against this rule.
publicvoid validate(String path, Schema schema, Object value, List<ValidationResult> results)
- path: string - dot notation path to the value.
 - schema: Schema - schema this rule is called from
 - value: Object - value to be validated.
 - results: List<ValidationResult> - list with validation results.
 
Examples
{@code
  Schema schema = new Schema()
       .withRule(new OnlyOneExistsRule("field1", "field2"));
 
  schema.validate({ field1: 1, field2: "A" });     // Result: only one of properties field1, field2 must exist
  schema.validate({ field1: 1 });                  // Result: no errors
  schema.validate({ });                            // Result: only one of properties field1, field2 must exist
  }                            // Result: only one of properties field1, field2 must exist