Dart field validation with error map
Dart
Map<String, String> validateSignup(Map<String, String?> input) {
final errors = <String, String>{};
void check(bool ok, String field, String message) {
if (!ok && !errors.containsKey(field)) errors[field] = message;
}
final email = input['email']?.trim() ?? '';
final age = int.tryParse(input['age']?.trim() ?? '');
final password = input['password'] ?? '';
check(RegExp(r'^[^@\s]+@[^@\s]+\.[^@\s]+$').hasMatch(email), 'email', 'Enter a valid email');
check(age != null && age >= 13 && age <= 130, 'age', 'Age must be 13-130');
check(password.length >= 8, 'password', 'Use at least 8 characters');
return errors;
}