passes method

  1. @override
FutureOr<bool> passes(
  1. ValidationContext context
)
override

Validates the value using the given context.

Returns true if valid, otherwise false.

Implementation

@override
FutureOr<bool> passes(ValidationContext context) {
  final value = context.value;
  final args = context.parameters;
  final max = _max ?? num.tryParse(args.isNotEmpty ? args[0] : '') ?? 9999;

  if (value == null) return true;

  if (value is num) {
    return value <= max;
  } else if (value is String) {
    return value.length <= max;
  } else if (value is Iterable || value is Map) {
    return value.length <= max;
  } else {
    return value.toString().length <= max;
  }
}