@override String? call(T? value) { if (value is String && value.isEmpty) { return 'Requires a value'; } if (value == null) { return 'Requires a value'; } else { return null; } }