Objective-C form field validation with error map
Objective-C
#import <Foundation/Foundation.h>
static NSDictionary *ValidateUser(NSDictionary *input) {
NSMutableDictionary<NSString *, NSString *> *errors = [NSMutableDictionary dictionary];
NSString *name = input[@"name"];
if (![name isKindOfClass:NSString.class] || name.length < 2) errors[@"name"] = @"must be at least 2 characters";
NSString *email = input[@"email"];
if (![email isKindOfClass:NSString.class] || ![email containsString:@"@"]) errors[@"email"] = @"must look like an email address";
NSNumber *age = input[@"age"];
if (![age isKindOfClass:NSNumber.class] || age.integerValue < 18 || age.integerValue > 120) errors[@"age"] = @"must be between 18 and 120";
return errors.count ? @{@"ok": @NO, @"errors": errors} : @{@"ok": @YES};
}