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) {
bool _isBlank(dynamic value) {
if (value == null) return true;
if (value is String) return value.trim().isEmpty;
if (value is Iterable) return value.isEmpty;
return false;
}
final requiredNow = isRequired(fields);
if (!requiredNow) {
// Not required => always pass
return true;
}
// Required => must be non-empty
return !_isBlank(value);
}