validate method

  1. @override
bool validate(
  1. T value,
  2. Map<String, FormFieldState> fields
)
override

Validates the given value against the validation rule.

  • value: The value to be validated.
  • fields: A map of form field states for cross-field validation.

Returns true if the validation passes, false otherwise.

Implementation

@override
bool validate(T value, Map<String, FormFieldState> fields) {
  if (value == null) {
    return false;
  }
  if (value is bool) {
    return value == true;
  }
  if (value is String) {
    return value.toLowerCase() == 'true';
  }

  if (value is num) {
    return value == 1;
  }

  throw ArgumentError(
    'Unsupported value type: ${value.runtimeType}, expected bool, String or num.',
  );
}