从UITextField输入验证NSDate

时间:2011-11-25 22:40:59

标签: ios uitextfield nsdate nsdateformatter

我有问题。我有3个日期,月份,年份的文本字段来获取用户的日期输入我不希望使用日期选择器。相反,我以dd / mm / yy格式从所有三个输入创建一个字符串,并使用类似的日期格式化程序来评估有效性。

 NSDate *convertedDOB = [dobFormatter dateFromString:dateOfBirth];
if (convertedDOB == nil){
    NSLog(@"DATE EPIC FAIL");
}
else{ 
    NSLog(@"DATE OK");
}
[dobFormatter release];

如果我输入类似10/40/88的愚蠢内容,则会返回错误,但是40/12/88或30/02/88类型的日期不会被检测到。有什么我做错了吗?谢谢。

1 个答案:

答案 0 :(得分:0)

您应该使用NSDatePicker,以便可以防止这样的错误。

http://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSDatePicker_Class/Reference/Reference.html

此外,由于输入的日期格式与NSDateFormatter的日期格式不同,您可能会收到nil