Created
November 12, 2012 21:44
-
-
Save f1fe/4062131 to your computer and use it in GitHub Desktop.
Boilerplate code to validate an email/username UITextField and password UITextField before taking action
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- (void)viewDidLoad | |
{ | |
[super viewDidLoad]; | |
self.finishButton.enabled = NO; | |
self.emailTextField.delegate = self; | |
self.passwordTextField.delegate = self; | |
} | |
#pragma mark - UITextFieldDelegate methods | |
- (void)textFieldDidBeginEditing:(UITextField *)textField { | |
if (textField == self.emailTextField) { | |
if (self.passwordTextField.text.length > 0) { | |
[self.finishButton setEnabled:YES]; | |
} | |
} else if (textField == self.passwordTextField) { | |
if (self.emailTextField.text.length > 0 && self.passwordTextField.text.length > 0) { | |
[self.finishButton setEnabled:YES]; | |
} | |
} | |
} | |
- (void)textFieldDidEndEditing:(UITextField *)textField { | |
if (self.passwordTextField.text.length < 1 || self.emailTextField.text.length < 1) { | |
[self.finishButton setEnabled:NO]; | |
} | |
} | |
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string | |
{ | |
// enable the arrow if we have enough data | |
if (textField == self.emailTextField) { | |
if (string.length > 0 && self.passwordTextField.text.length > 0) { | |
[self.finishButton setEnabled:YES]; | |
} else if (string.length == 0 && range.location > 0 && self.passwordTextField.text.length > 0) { | |
[self.finishButton setEnabled:YES]; | |
} else { | |
[self.finishButton setEnabled:NO]; | |
} | |
} else if (textField == self.passwordTextField) { | |
if (string.length > 0 && self.emailTextField.text.length > 0) { | |
[self.finishButton setEnabled:YES]; | |
} else if (string.length == 0 && range.location > 0 && self.emailTextField.text.length > 0) { | |
[self.finishButton setEnabled:YES]; | |
} else { | |
[self.finishButton setEnabled:NO]; | |
} | |
} | |
return YES; | |
} | |
- (BOOL) textFieldShouldReturn:(UITextField *) textField { | |
[textField resignFirstResponder]; | |
if (textField == self.emailTextField) { | |
[self.passwordTextField becomeFirstResponder]; | |
} | |
if (textField == self.passwordTextField) { | |
[self finishAction:nil]; | |
[self.emailTextField resignFirstResponder]; | |
} | |
return YES; | |
} | |
- (IBAction)finishAction:(id)sender { | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment