A validator for comparing a value.
Values passing through validators of this type must be lessThan,
greaterThan, lessThanEqualTo, equalTo, or [greaterThanEqualTo
to the value provided for each argument.
Any argument not specified is not evaluated. A typical validator only uses one argument:
@Validate.compare(lessThan: 10.0)
double value;
All provided arguments are evaluated. Therefore, the following requires an input value to be between 6 and 10:
@Validate.compare(greaterThanEqualTo: 6, lessThanEqualTo: 10)
int value;
This validator can be used for String, double, int and DateTime properties.
When creating a validator for DateTime properties, the value for an argument
is a String that will be parsed by DateTime.parse.
@Validate.compare(greaterThan: "2017-02-11T00:30:00Z")
DateTime date;
If onUpdate is true (the default), this validation is run on update queries.
If onInsert is true (the default), this validation is run on insert queries.
Source
const Validate.compare(
{Comparable lessThan,
Comparable greaterThan,
Comparable equalTo,
Comparable greaterThanEqualTo,
Comparable lessThanEqualTo,
bool onUpdate: true,
onInsert: true})
: this._(
lessThan: lessThan,
lessThanEqualTo: lessThanEqualTo,
greaterThan: greaterThan,
greaterThanEqualTo: greaterThanEqualTo,
equalTo: equalTo,
onUpdate: onUpdate,
onInsert: onInsert,
validator: _BuiltinValidate.comparison);