오류가있는 경우 UITextField의 유효성을 검사하고 UIAlertView를 표시하려고합니다.UITextField 유효성 검사 및 UIAlertView 표시 오류
이전에 아래 코드를 사용했습니다. 2 개의 UITexfields와 완벽하게 작동하지만 많은 UITextfield에서는 불가능합니다.
내 UITexfields를 확인하기 위해 UIAlertView를 표시하는 방법에 대한 팁은 어떻게 작성합니까?
- (void)processFieldEntries {
NSString *usernameString = usernameField.text;
NSString *passwordString = passwordField.text;
NSString *firstNameString = firstNameField.text;
NSString *nameString = nameField.text;
NSString *cityString = cityField.text;
NSMutableArray *errors = [NSMutableArray array];
if (usernameString.length == 0) {
[errors addObject:@"a username"];
}
if (passwordString.length == 0) {
[errors addObject:@"a password"];
}
if (firstNameString.length == 0) {
[errors addObject:@"a first name"];
}
if (nameString.length == 0) {
[errors addObject:@"a name"];
}
if (errors.count) {
NSString *message = [NSString stringWithFormat:@"Enter %@", [errors componentsJoinedByString:@", "]];
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Errors" message:message delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alertView show];
}
}
이 진짜 잘 확장되지 않습니다 물론 :
- (void)processFieldEntries {
NSString *usernameString = usernameField.text;
NSString *passwordString = passwordField.text;
NSString *firstNameString = firstNameField.text;
NSString *nameString = nameField.text;
NSString *cityString = cityField.text;
NSString *errorText = @"Enter";
NSString *usernameBlankText = @" a username";
NSString *passwordBlankText = @" a password";
NSString *prenomBlankText = @" a firstname";
NSString *nomBlankText = @" a name";
NSString *joinText = @", ";
BOOL textError = NO;
if (identifiantString.length == 0 || motDePasseString.length == 0 || prenomString.length == 0 || nomString.length == 0 || idPoubelle.length == 0) {
textError = YES;
if (usernameString.length == 0) {
errorText = [errorText stringByAppendingString:usernameBlankText];
}
if (usernameString.length == 0 || passwordString.length == 0) {
if (usernameString.length == 0) {
errorText = [errorText stringByAppendingString:joinText];
}
errorText = [errorText stringByAppendingString:passwordBlankText];
}
}
if (textError) {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:errorText message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:@"Ok", nil];
[alertView show];
return;
}
}
왜 2 개 이상의 텍스트 필드의 유효성을 검사 할 수 없습니다? – rmaddy
물론 가능하지만 모든 사례를 작성하려면 코드가 매우 길어질 수 있습니다. – Michel