故事板中的10个文本字段的iOS文本验证

时间:2014-07-11 10:07:02

标签: ios uitextfield

我有一个包含10个以上文本字段的表单。我想检查是否所有输入。我知道以下检查相同的方法

if ([_fName.text isEqualToString:@""])

即使我们有超过10个文本字段,这是最好的方法吗?或者有更简单的方法吗?比如在故事板中分配什么东西?

3 个答案:

答案 0 :(得分:1)

您可以使用textFieldDidEndEditing跟踪文字:

- (void)textFieldDidEndEditing:(UITextField *)textField {

    switch (textField.tag) {
          case NameFieldTag:
             // do something with this text field

          break;

          case EmailFieldTag:
             // do something with this text field

          break;

    }
}

答案 1 :(得分:1)

您可以将视图控制器符合<UITextFieldDelegate>协议并实施:

- (void)textFieldDidEndEditing:(UITextField *)textField {
    if ([textField.text isEqualToString:@""]) {
        // your code
    }
}

此外,您可以检查textField的确切位置,并应用自定义验证逻辑:

- (void)textFieldDidEndEditing:(UITextField *)textField {
    if (textField == self._fName) {
        // your code
    }
}

答案 2 :(得分:0)

我建议你做类似下面的事情。请注意,您可能希望做的不仅仅是验证字段中是否存在某些内容。您可能还想检查日期,数字等的有效性。

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    // assuming you have a save bar button or equivalent
    // disable it or change it from 'Edit' to 'Save' when you start changing textFields
    self.navigationItem.rightBarButtonItem.enabled = NO;
}

- (void)textFieldDidEndEditing:(UITextField *)textField
{   
    // validate form
    if (_textField1.text.length > 0 &&
        _textField2.text.length > 0 &&
        _textField3.text.length > 0 &&
        _textField4.text.length > 0 &&
        _textField5.text.length > 0)
    {
        // Re-enable your bar button or change it from 'Edit' to 'Save' 
        // if form validates
        self.navigationItem.rightBarButtonItem.enabled = YES;

    }
}