2012-10-31 51 views
2

我想讓用戶確認他輸入的密碼......所以我使用了兩個文本字段..但不知何故,即使兩個人都有相同的密碼,它似乎認爲這兩個密碼不同帶有2個UITextFields的密碼確認

if (![self.typePTextField.text isEqualToString:self.retypePLabel.text]) { 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error", @"Error") message:NSLocalizedString(@"Passwords do not match \n please retype", @"Passwords do not match \n please retype") delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 
    [alert show]; 
    self.typePTextField.text = @""; 
    self.retypePLabel.text = @""; 
    return; 
} 

即使我輸入了兩次相同的字符串,只有第一個文本字段重置爲@「」...... 什麼會解決這個問題?

+1

您已經驗證這兩個'self.typePTextField'和'self.retypePLabel'是非零?你確定第二個是正確的嗎?不應該是'self.retypePTextField'嗎? – rmaddy

+0

[你嘗試過什麼?](http://www.whathaveyoutried.com)調試器中的30秒應該告訴你這裏發生了什麼。 –

回答

3

我猜的isEqual:方法方法

self.retypePLabel.text 

應該

self.retypePTextField.text 
0

self.retypePLabel.text?你確定你問這個,因爲我認爲它應該像self.retypePTextField.text

0

嘗試

if (![self.typePTextField.text isEqualToString:self.sometextfield.text]) { 
     UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error", @"Error") message:NSLocalizedString(@"Passwords do not match \n please retype", @"Passwords do not match \n please retype") delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; 
     [alert show]; 
     self.typePTextField.text = @""; 
     self.sometextfield.text = @""; 
     return; 
    } 
+0

這個問題已經有一年了,已經被接受。 – Fogmeister

+0

@ Fogmeister我知道這是問題是一歲,但看到代碼這是什麼self.retypePLabel.text ...我只是糾正代碼,,爲什麼你投我的票 – nivritgupta

+0

我倒投了,因爲問題已經回答並接受,其他答案與您給出的答案几乎完全相同。 – Fogmeister

0
if([_txtPassword.text isEqual:_txtconfirmPassword.text]) 
    { 
     NSLog(@"Password =%@ , ConfirmPassword = %@ ",_txtPassword.text,_txtconfirmPassword.text); 
    } 
    else { 
     //// code show alert//// 
    }