Mit folgendem Code versuche ich die Email textFields zu validieren, aber das Problem ist, dass selbst wenn der Email und Confirm Email Text in beiden Feldern gleich ist gibt es eine Fehlermeldung, dass sie nicht gleich sind. Ich weiß nicht was mit meinem Code falsch ist.Fehler beim Setzen von Validierungen auf textFields
- (IBAction)submit_Act:(id)sender {
//new//
NSString *errorMessage;
errorMessage = @"";
if ([usernametxt.text isEqualToString:@""]){
errorMessage = @"Please enter Username \n";
}
if([passwordtxt.text isEqualToString:@""]){
errorMessage = [errorMessage stringByAppendingString:@"Please enter Password\n"];
}
if([confirmPasswordtxt.text isEqualToString:@""]){
errorMessage = [errorMessage stringByAppendingString:@"Please enter Confirm Password\n"];
}
if((passwordtxt.text == confirmPasswordtxt.text) == false){
errorMessage = [errorMessage stringByAppendingString:@"Password and Confirm Password are not same.\n"];
}
NSString *regex = @"[^@][email protected][A-Za-z0-9.-]+\\.[A-Za-z]+";
NSPredicate *emailPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
if([emailaddtxt.text isEqualToString:@""]){
errorMessage = [errorMessage stringByAppendingString:@"Please enter Email Address\n"];
}
else if ([emailPredicate evaluateWithObject:emailaddtxt.text] == NO) {
errorMessage = [errorMessage stringByAppendingString:@"Please enter valid Email Address\n"];
}
if([confirmEmailtxt.text isEqualToString:@""]){
errorMessage = [errorMessage stringByAppendingString:@"Please enter Confirm Email Address\n"];
}
else if ([emailPredicate evaluateWithObject:confirmEmailtxt.text] == NO) {
errorMessage = [errorMessage stringByAppendingString:@"Please enter valid confirm Email Address\n"];
}
if((emailaddtxt.text == confirmEmailtxt.text) == false)
{
errorMessage = [errorMessage stringByAppendingString:@"Email and Confirm Email are not same.\n"];
}
if([citytxt.text isEqualToString:@""]){
errorMessage = [errorMessage stringByAppendingString:@"Please enter City\n"];
}
if([statetxt.text isEqualToString:@""]){
errorMessage = [errorMessage stringByAppendingString:@"Please enter State\n"];
}
if([countrytxt.text isEqualToString:@""]){
errorMessage = [errorMessage stringByAppendingString:@"Please enter Country\n"];
}
if (_agree_btn.selected==false) {
errorMessage = [errorMessage stringByAppendingString:@"Please agree Terms & Conditions\n"];
}
if (![errorMessage isEqualToString:@""]) {
NSLog(@"not done");
[[[UIAlertView alloc] initWithTitle:nil message:errorMessage delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Ok", nil] show];
return;
}
} else{
NSLog(@" Done Dana done");
_activityIndicator.hidden=NO;
[_activityIndicator startAnimating];
protocolTest = [[ClassWithProtocol alloc] init];
[protocolTest setDelegate:self];
NSString *post = [NSString stringWithFormat:@"task=webapi.registerClient&username=%@&password=%@&person_name=%@&email=%@&terms_check=1&city=%@&state=%@&country=%@&user_id=%@",usernametxt.text,passwordtxt.text,contactPersonstxt.text,emailaddtxt.text,citytxt.text,statetxt.text,countrytxt.text,_fetchid];
[protocolTest startLogintask:post];
}
nicht vergleichen String wie "if ((emailaddtxt.text == confirmEmailtxt.text) == false)" vergleicht sie wie "if ([emailaddtxt.text isEqualToString :: confirmEmailtxt.text])" –
All Hilfe Jungs, immer noch das gleiche Problem? – vicky
Hat jemand eine Vorstellung von dem Problem, das ich hier habe? – vicky