passes method
Validates the value using the given context.
Returns true if valid, otherwise false.
Implementation
@override
FutureOr<bool> passes(ValidationContext context) {
final args = context.parameters;
final data = context.data;
final value = context.value;
if (args.length < 2) return true;
final otherField = args[0];
final expectedValue = args[1];
if (data.containsKey(otherField) &&
data[otherField].toString() == expectedValue) {
// Condition met, so it IS required
if (value == null) return false;
if (value is String && value.trim().isEmpty) return false;
if (value is Iterable && value.isEmpty) return false;
if (value is Map && value.isEmpty) return false;
}
return true;
}