【问题标题】:UITextfield validationUITextfield 验证
【发布时间】:2011-05-28 05:57:30
【问题描述】:

我正在尝试验证我的文本字段。我有两个文本字段用户名和密码。我想检查用户名文本字段是否为空,然后在用户输入用户名之前不允许用户移动到密码文本字段。任何执行此操作的示例代码将不胜感激。

提前致谢。

【问题讨论】:

  • @middaparka Oof,是的,在我输入长答案之前错过了这一点。 @Prazi 真的,检查对您以前的问题有帮助的答案旁边的复选标记。您可以通过单击此页面顶部的用户名轻松找到他们。

标签: iphone validation textfield


【解决方案1】:

假设您有某种提交按钮,我不建议您尝试人为地将用户保留在一个字段中。而是设置submitButton.enabled = NO,直到两个字段都有效。如果您指出这些字段是必需的,那么用户不会像无法更改文本字段焦点时那样感到困惑。

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

在 ValidateEntry 字段中确定正在编辑哪一个 - (id)sender 将有一个标签告诉您哪个是哪个 - 当两个字段都有效时,使提交按钮可用,submitButton.enabled = YES。如果其中一个无效,请禁用它。

在我看来,这更友好,结果完全相同:不发送空字段。

【讨论】:

    【解决方案2】:

    在 viewDidLoad 中禁用您的密码文本字段

    yourPassWordTextField.enabled=NO;
    

    并通过使用在 textField 上添加通知

    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;
    

    也声明一下。

    【讨论】:

      【解决方案3】:

      您将用户名文本字段设置为 firstResponder。然后在 Textfield 中开始编辑方法检查是否输入了字符。在 textfieldDidEndEditing 中,检查文本字段是否为空。如果它不为空,则允许密码字段成为第一响应者,否则保持第一响应者作为用户名文本字段本身。

      【讨论】:

        【解决方案4】:

        你想在– textFieldDidBeginEditing:delegate 中检查这个

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-10-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-05-08
          • 2013-02-14
          • 2023-03-15
          相关资源
          最近更新 更多