Search code examples
iosxcodevalidationtextfieldalertview

Validation for textfield in uialertview


I show UIAlertView with UIAlertViewStylePlainTextInput style. Then I try to validate for empty field like this:

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{

    if (buttonIndex == 1) {
        if ([[alertView textFieldAtIndex:0].text length] > 0 ||
            [alertView textFieldAtIndex:0].text != nil ||
            [[alertView textFieldAtIndex:0].text isEqual:@""] == FALSE)
        {
            NSLog(@"error");
        }
        else
        {
            [self postToServer];
        }
    } else {
        //close alertview
    }
}

But it shows me an error message in log even if textfield not empty.


Solution

  • This is because your if statement contains

    [[alertView textFieldAtIndex:0].text length] > 0
    

    which means if there is text then NSLog(@"error"); Your if should be:

    if ((![alertView textFieldAtIndex:0].text) || [[alertView textFieldAtIndex:0].text isEqual:@""])
    {
          NSLog("error");
    }