0

我是 iPhone 应用程序开发的初学者。我正在创建一个 iPhone 应用程序,它有一个用户界面和 3 个文本框,用于接受用户输入(文本框 1、文本框 2 和文本框 3),比如用户名、邮件地址和电话号码,以及一个带有修饰的按钮(确定)动作事件的内部事件。

用户必须通过单击确定按钮强制填写所有文本框才能继续。当所有文本框都填满时,必须生成警告消息说谢谢。

如果不这样做,则应生成警报视图。

但我想做的是:

  • 如果所有文本框都是空的,则应显示警报消息,并指出未输入用户名、邮件地址和电话号码。
  • 如果只有用户名未由用户填写,则应显示警报,并显示未输入用户名的警报消息。
  • 如果用户没有填写 MailAddress,则应显示警报,并显示未输入 MailAddress 的警报消息。
  • 如果用户未填写电话号码,则应显示警报,并显示未输入电话号码的警报消息。
  • 如果用户名和邮件地址均未由用户填写,则应显示警报,并显示未输入用户名和邮件地址的警报消息。
  • 如果用户名和电话号码均未由用户填写,则应显示警报,并显示未输入用户名和电话号码的警报消息。
  • 如果用户未填写 MailAddress 和 TelephoneNumber,则应显示警报,并显示未输入 MailAddress 和 TelephoneNumber 的警报消息。

我如何在目标 c 中做到这一点?有什么简单的方法???我必须通过使用函数来做到这一点,以便它可以调用所需的函数来相应地显示所需的警报消息,当用户点击确定按钮而不填写所有必需的数据时用户输入。

4

4 回答 4

2

找到代码...

NSInteger user, mail, telephone;
user=mail=telephone=0;

if (![self.userName.text isEqualToString:@""]) {
    user=1;
}
if (![self.mail.text isEqualToString:@""]) {
    mail=2;
}
if (![self.telephone.text isEqualToString:@""]) {
    telephone=4;
}

NSString *warningString=[NSString new];
switch (user+mail+telephone) {
    case 0:
        warningString=@"Please enter user, mail and telephone.";
        break;
    case 1:
        warningString=@"Please enter mail and telephone.";
        break;
    case 2:
        warningString=@"Please enter user and telephone.";
        break;
    case 3:
        warningString=@"Please enter telephone.";
        break;
    case 4:
        warningString=@"Please enter user and mail.";
        break;
    case 5:
        warningString=@"Please enter  mail.";
        break;
    case 6:
        warningString=@"Please enter user.";
        break;

    default:
        break;
}
NSLog(@"-->%@",warningString);
if (user+mail+telephone < 7) {

    UIAlertView *alertView=[[UIAlertView alloc]initWithTitle:@"Alert" message:warningString delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [alertView show];
}
于 2013-01-01T09:46:07.577 回答
1

除非所有项目都正确填写,否则禁用按钮会不会更容易?

这意味着更少地摆弄代码来查看已输入和未输入的内容。这是提供反馈的一种更快的方式 - 因为您不必通过按键来确定您的数据是否已被接受,然后按下按钮关闭警报视图以返回编辑输入。

于 2013-01-01T09:46:02.600 回答
0

您可以检查 textField 是否有数据

if (userNameField.text.length == 0)
{
NSLog (@"Username is not being entered");
}
else
{
NSLog (@"Username Field has some data ");
}

同样,您可以根据您的要求制定适当的条件。

于 2013-01-01T09:47:09.523 回答
-1

Objective C 中的验证与简单 C++ 或任何其他语言中的验证相同。

您必须设置条件,例如

if(textbox1.text.lenght == 0)
{
     UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Please Enter User      Name" message: nil delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
     [alertView show];
}
else if(textbox2.text.lenght == 0)
{
  //alert Message
}

问候

阿布舍克·戈亚尔

于 2013-01-01T09:53:33.950 回答