validate method
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.',
);
}