检查UITextfield是否为空并显示警告

时间:2015-12-22 07:42:59

标签: ios iphone swift

我想阻止数据被保存,并在任何文本字段留空时显示警报。这就是我所拥有的,当我点击保存按钮时弹出警报,但文本字段在空时仍然保存为空白文本。

   // check if text feild is empty

    if usernameLabel.text == "" || passwordLabel.text == "" || phoneNumber.text == "" || service.text == "" || address.text == ""  {

        // Alert
        let optionMenu = UIAlertController(title: nil, message: "Please Enter Text", preferredStyle: .Alert)

        // Add actions to the menu
        let cancelAction = UIAlertAction(title: "Ok", style: .Cancel, handler:
            nil)
        optionMenu.addAction(cancelAction)

        // Display the menu
        self.presentViewController(optionMenu, animated: true, completion: nil)

    }


}   //End save button

3 个答案:

答案 0 :(得分:1)

在你的if end添加返回之后

if usernameLabel.text.length == 0 || passwordLabel.text.length == 0 || phoneNumber.text.length == 0 || service.text.length == 0 || address.text.length == 0  { 

    // your code 
    return
}

答案 1 :(得分:1)

首先删除空格,因为它也被视为字符。因此必须删除代码下方的空格,

-(NSString *)remove_whitespace:(NSString *)string_data /* Remove whitspace in the string */
{
      NSCharacterSet *whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
      string_data = [string_data stringByTrimmingCharactersInSet:whitespace];
      return string_data;
}

然后,计算字符串的长度。如果它大于0则继续,否则弹出错误如下,

if([self remove_whitespace:textstring])
{
NSLog(@"work");
  }
else
{
NSLog(@"so error");
}

知道了吗?

答案 2 :(得分:1)

if(usernameLabel.text.characters.count == 0 || passwordLabel.text.characters.count == 0 || phoneNumber.text.characters.count == 0 || service.text.characters.count == 0 || address.text.characters.count == 0)  
{ 
    // your code 
    return
}

使用.characters.count进行检查是否检查textfield是否为空。