Как проверить валидацию даты в iphone? - PullRequest
3 голосов
/ 26 сентября 2011

Я хочу добавить дату в свою базу данных ..

, и я хочу добавить ее в каком-то определенном формате .. как дд / мм / гггг

как проверить валидацию для нее?

Как проверка электронной почты .. Я хочу проверить, в указанном формате или нет?

как это сделать?

1 Ответ

12 голосов
/ 26 сентября 2011

1) Какой метод ввода для вашей даты?

  • Если это значение UIDatePicker, вам нечего делать, UIDatePicker вернет действительный NSDate . Я рекомендую вам манипулировать NSDate объектами и использовать UIDatePickers в качестве ввода даты, особенно во избежание вопроса проверки даты.

  • Если это текстовое поле, вы можете установить UITextField inputView для UIDatePicker, и вам не придется беспокоиться о проверке даты, как вы это сделаете очевидно, непосредственно имеется (разобранная) NSDate, которой вы можете напрямую манипулировать, будучи уверенным, что она действительна.

Затем в любом случае используйте NSDateFormatter для преобразования вашего NSDate (введенного пользователем через UIDatePicker) в NSString (для вставки в вашу базу данных) .


2) Если у вас есть простой текст, введенный пользователем через клавиатуру, и вы не можете или не хотите использовать UIDatePicker (даже как inputView вашего UITextField), вы можете конвертировать NSString в NSDate через NSDateFormatter, чтобы проверить, возвращает ли он не nil NSDate (что означает, что это действительная дата).

Примечание. Вы также можете использовать классы NSRegularExpression или NSPredicate для проверки формата вашей строки ... но у вас не будет тонкостей проверки NSDate (например, проверка этого 31/02/2011 или 67/13/99 является недействительным)

...