Проверка формы iPhone Objective-C - PullRequest
2 голосов
/ 09 июня 2010

Я старый разработчик, но новичок в разработке Objective-C и iPhone.Я ищу лучший способ сделать проверку формы для введенных значений.Я уже некоторое время гуглю и не могу найти хороший код, но, возможно, использую неверный ключ и т. Д. Я ищу такие вещи, как перехват пустой строки, числовая проверка, проверка даты и т. Д.где он ловит это либо во время ввода данных пользователем (тип маски ввода), либо при потере фокуса элемента управления.

Если вы можете указать мне несколько хороших ресурсов, которые были бы великолепны!

Спасибо!

Саймон.

Ответы [ 2 ]

2 голосов
/ 09 июня 2010

Я не знаю конкретных ресурсов, но вы можете начать использовать NSPredicate для проверки полей с помощью регулярных выражений. Например, для проверки почты

BOOL result;    

NSString* emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; 
NSPredicate* emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; 

result = [emailTest evaluateWithObject:anEmailAddress];
1 голос
/ 02 августа 2010

EmailRegex, предложенный Espuz, имеет небольшую проблему. Оператор диапазона «-» в скобках [] должен быть экранирован, в противном случае письма с символом «-» возвращаются как недействительные.

Я использую следующую строку регулярного выражения для сопоставления с образцом, которая допускает "_", "-" и "." символы в адресе:

                    NSString *emailRegex = @"[a-zA-Z0-9.\\-_]{2,32}@[a-zA-Z0-9.\\-_]{2,32}\.[A-Za-z]{2,4}";
                    NSPredicate *regExPredicate =
                        [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
                    BOOL validEmail = [regExPredicate evaluateWithObject:txtField.text];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...