2010-12-20 51 views
1

我想验证我的文本字段。我有两个文本框用户名和密码。我要检查,如果用户名文本字段保持为空,则不允许用户移动到文本框的密码,直到他输入用户名。任何示例代码来做到这一点将不胜感激。的UITextField验证

在此先感谢。

+0

@middaparka OOF,是啊,错过了之前我打了那么久的答案。 @Prazi真的,检查在你之前的问题上帮助你的答案旁边的复选标记。您可以通过点击页面顶部的用户名来轻松找到他们。 – 2010-12-20 13:39:11

回答

0

你让你的用户名文本字段作为firstResponder.Then在文本字段并beginediting方法检查,如果输入的字符或not.And在textfieldDidEndEditing,检查文本框是不如果它不为空,则允许密码字段成为第一响应者,否则将第一响应者保留为用户名文本字段本身。

0

您要检查这– textFieldDidBeginEditing:委托

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
if(textField==passwordField) 
{ 
if([userField.text isEqualToString:@""]) 
//Dont leave user field empty 
} 
} 
2

假设你有某种形式的提交按钮,我不建议试图人为地让用户处于一个字段。而是设置submitButton.enabled = NO,直到两个字段都有效。如果您指出这些字段是必需的,那么用户不会像他无法更改文本字段焦点一样困惑。

为了进行验证,在IB中设置了两个文本框'EditingChanged指向viewContoller中的一个方法,如ValidateEntry。给他们两个独特的标签,只有1和2,或者你有什么。

在ValidateEntry字段中确定哪一个正在被编辑 - (id)发件人将有一个标签告诉你哪个是 - 哪个字段有效使提交按钮可用,submitButton.enabled = YES。如果其中任一个无效,请禁用它。

在我看来,这是更友好和结果完全一样:没有发送空字段。

1

禁用密码文本框在viewDidLoad中

yourPassWordTextField.enabled=NO; 

,并通过使用

NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter]; 

    [notificationCenter addObserver:self 
          selector:@selector (handle_TextFieldTextChanged:) 
           name:UITextFieldTextDidChangeNotification 
          object:self.yourUserIdTextField]; 

- (void) handle_TextFieldTextChanged:(id)notification { 

    if(![yourUserIdTextField.text isEqualToString:@""]) 
    { 
      yourPassWordTextField.enabled=YES; 
    } 
     else 
     yourPassWordTextField.enabled=NO; 
} 

在.h文件中

-(void)registerForTextFieldNotifications; 

文本框上添加一个通知declair这也。