【问题标题】:How to validate Textfield inputs如何验证文本字段输入
【发布时间】:2015-04-16 09:29:46
【问题描述】:

我有一个模块处理数据库调用功能,即我有一个文本字段,用户可以在其中输入他们的手机号码。当用户输入手机号码的前 4 位数字时,另一个字段称为运营商,它会根据该文本字段中的 4 位输入值自动更改。但是当用户输入有效的电话号码时,我的核心功能运行良好。当用户在文本字段中输入无效数字时,我的应用程序崩溃。当用户在文本字段中输入无效输入时,我不希望我的应用程序崩溃

我的示例代码:

 if(MobileNum.text.length ==4)
    {
        NSLog(@"MobileNum==>%@" ,MobileNum.text);

        Database *obj = [[Database alloc]init];
        NSMutableArray *dbArrray = [[NSMutableArray alloc]init];

        dbArrray =[obj getallRecords:MobileNum.text];

        NSString *value1 = [[dbArrray valueForKey:@"Operator"]objectAtIndex:0];

        if ([value1 isEqualToString:@""]) {
            NSString *data = @"Select Operator";
            NSString *data1 = @"Select Circle";

            operatorStr = [NSString stringWithFormat:@"%@", data];
            [operatorButton setTitle:operatorStr forState:UIControlStateNormal];
            circleStr = [NSString stringWithFormat:@"%@",data1];
            [circleButton setTitle:circleStr forState:UIControlStateNormal];
        }
        else
        {
            operatorStr = [[dbArrray valueForKey:@"Operator"]objectAtIndex:0];
            opString = operatorStr;
            NSLog(@"Operator Field==>%@",opString);
            [operatorButton setTitle:operatorStr forState:UIControlStateNormal];
            circleStr = [[dbArrray valueForKey:@"Circle"]objectAtIndex:0];
            cirString = circleStr;
            NSLog(@"Circle Field==>%@",cirString);
            [circleButton setTitle:circleStr forState:UIControlStateNormal];
        }
    }

我的文本字段只接受像 7,8,9 这样的起始数字,其余所有输入都被拒绝并且应用程序崩溃

【问题讨论】:

  • 检查dbArrray是否包含值

标签: ios objective-c iphone uitextfield


【解决方案1】:

这样做

dbArrray =[obj getallRecords:MobileNum.text];

 if (dbArrray.count==0)
{
  // do nothing , like select the another user

  [operatorButton setTitle:@"Select Operator" forState:UIControlStateNormal];           
  [circleButton setTitle:@"Select Circle" forState:UIControlStateNormal];
 }
else
 {

   [operatorButton setTitle:[[dbArrray valueForKey:@"Operator"]objectAtIndex:0] forState:UIControlStateNormal];
   [circleButton setTitle:[[dbArrray valueForKey:@"Circle"]objectAtIndex:0] forState:UIControlStateNormal];
 }

【讨论】:

  • 哈哈,如果数组计数大于零,总是这样做——添加值,否则什么都不做
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 2021-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多