如何在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谢谢您指出错误,我现在已经更改了代码。@代理谢谢您的帮助