Validation rule that checks that at least one of the object properties exists.

Implements: IValidationRule


The AtLeastOneExistsRule class allows you to check that given a set of properties, at least one of them exists.


Creates a new validation rule and sets its values

public constructor(…properties: string[])

  • properties: string[] - a list of property names where at least one property must exist

Instance methods


Validates a given value against this rule.

public validate(path: string, schema: Schema, value: any, results: ValidationResult[]): void

  • path: string - a dot notation path to the value.
  • schema: Schema - a schema this rule is called from
  • value: any - a value to be validated.
  • results: ValidationResult[] - a list with validation results to add new results.


let schema = new Schema()
    .withRule(new AtLeastOneExistsRule("field1", "field2"));
schema.validate({ field1: 1, field2: "A" });     // Result: no errors
schema.validate({ field1: 1 });                  // Result: no errors
schema.validate({ });                            // Result: at least one of properties field1, field2 must exist

See also