Validation rule that checks that at least one of the object’s properties exists.
Implements: IValidationRule
Description
The AtLeastOneExistsRule class allows you to check that given a set of properties, at least one of them exists.
Constructors
Creates a new validation rule and sets its values
AtLeastOneExistsRule(List<String> properties)
- properties: List<String> - list of property names where at least one property must exist
Instance methods
validate
Validates a given value against this rule.
@override
void validate(String? path, Schema schema, dynamic value, List<ValidationRule> results)
- path: String? - dot notation path to the value.
- schema: Schema - schema this rule is called from.
- value: dynamic - value to be validated.
- results: List<ValidationRule> - list with validation results.
Examples
var schema = Schema()
.withRule( 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