如何在ios中验证多个文本字段

如何在ios中验证多个文本字段,ios,Ios,我正在处理包含多个文本字段的应用程序,是否有任何方法可以一次验证所有字段,以在提交之前检查它们是否都为空。因为我能够逐个验证 NSArray*viewsToRemove=[self.view子视图]; NSArray *viewsToRemove = [self.view subviews]; for (UIView *v in viewsToRemove) { if([v isKindOfClass:[UITextField class]]) { UITextF

我正在处理包含多个文本字段的应用程序,是否有任何方法可以一次验证所有字段,以在提交之前检查它们是否都为空。因为我能够逐个验证

NSArray*viewsToRemove=[self.view子视图];
NSArray *viewsToRemove = [self.view subviews];
for (UIView *v in viewsToRemove)
{
    if([v isKindOfClass:[UITextField class]])
    {
        UITextField *txt=(UITextField *)v;
        //check for spaces
        NSString *str=[txt.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet
        if([str length]<=0)
        {
            //raise the error
            //To raise the proper error, check for the tag by assigning tag to each textfield in xib.
        }
    }
}
用于(viewsToRemove中的UIView*v) { if([v iskindof类:[UITextField类]]) { UITextField*txt=(UITextField*)v; //检查是否有空格 NSString*str=[txt.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet] 如果([str-length]试试这个
在下面的代码中,找到视图中的所有textfield,然后检查它是空的还是空的

- (IBAction)SubmitTapped:(id)sender {

    for (UIView *view in self.view.subviews) {
        if ([view isKindOfClass:[UITextField class]]) {
            UITextField *textField = (UITextField *)view;
            if([textField.text length]==0){
                NSLog(@"Please fill...");
            }
        }
    }
}

如果您使用故事板/xib文件,则将所有文本字段连接到一个IBMoutletCollection,而不是将每个文本字段连接到不同的IBMoutletCollection。IBMoutletCollection提供了一个文本字段数组,因此您可以使用枚举进行验证。

以下代码片段适合我:

    // Get the subviews of the view
    NSArray *listOfSubviews = [self.view subviews];

    // Return if there are no subviews
    if ([listOfSubviews count] == 0) return;

    for (UIView *view in listOfSubviews) {

        if([view isKindOfClass:[UITextField class]]) { // Check for UITextField view

             UITextField *txtTextField = (UITextField *) view;

            if ((txtTextField.text.length != 0) || [txtTextField.text isEqualToString:@""]) {
                // textfield is empty
            }
            else {
                // textfield is not empty
            }
        }
    }

你想在点击按钮时检查它们是否为空?或者类似的东西?并向我们显示你迄今为止尝试过的代码..可能没有任何代码一次/一次检查所有文本字段的有效性,以检查它们是否都为空..你需要单独执行:)不!你必须逐个检查!如果有任何代码同时检查所有字段。它将在后端逐个检查所有字段。如评论中所述,我无法一次验证所有字段,我必须遍历所有字段。我完全按照@svrushal所述做了。在此之前,我正在验证所有字段使用简单的if条件,表单中大约有59个textfield和其他控件。您正在检查@“”,如果用户在文本中输入空格,这将不起作用field@svrushal谢谢您指出错误,我现在已经更改了代码。@代理谢谢您的帮助