Подтвердить что ты не робот

Цель c проверка того, пусто ли текстовое поле

Здесь код:

- (IBAction) charlieInputText:(id)sender {
    //getting value from text field when entered
    charlieInputSelf = [sender stringValue];

    if (charlieInputSelf != @"") {
        //(send field if not empty
    }
}    

Это отправляет его, даже когда поле пусто; поэтому это не работает, как я хочу.

4b9b3361

Ответ 1

Просто проверяет значение nil и длина длины текста больше 0 - не пустая

if (textField.text && textField.text.length > 0)
{
   /* not empty - do something */
}
else
{
   /* what ever */
}

Ответ 2

У нас уже есть встроенный метод, возвращающий логическое значение, указывающее, имеют ли объекты ввода текста какой-либо текст или нет.

// In Obj-C
if ([textField hasText]) {
        //*    Do Something you have text
    }else{
         /* what ever */
    }

// In Swift

if textField.hasText {
    //*    Do Something you have text
}else{
     /* what ever */
}

Ответ 3

Joshua имеет правильный ответ в узком случае, но, как правило, вы не можете сравнивать строковые объекты с помощью операторов == или! =. Вы должны использовать -isEqual: или -isEqualToString: Это потому, что charlieImputSelf и @"" фактически указывают на объекты. Хотя две последовательности символов могут быть одинаковыми, они не должны указывать на одно и то же место в памяти.

Ответ 4

Те "работают" в некотором роде. Однако я обнаружил, что пользователь может просто заполнить поле пробелами. Я нашел использование регулярных выражений (хотя то, что я использую для слов без пробелов), я не могу понять, как сделать пробелы.

NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[ ]" options:NSRegularExpressionCaseInsensitive error:&error];

if (!([[inputField stringValue]isEqualTo:regex])) {
        NSLog(@"Found a match");
// Do stuff in here //
}

Ответ 5

Самый эффективный способ сделать это - использовать этот

// set it into an NSString
NSString *yourText = yourVariable.text;

if([theText length] == 0])
{
 // Your Code if it is equal to zero
}
else
{
// of the field is not empty

}

Ответ 6

Проверьте, пусто ли текстовое поле в Swift

  @IBOutlet weak var textField: NSTextField!
  @IBOutlet weak var multiLineTextField: NSTextField!

  @IBAction func textChanged(sender: AnyObject) {
    //println("text changed! \(textField.stringValue)")

    if textField.stringValue.isEmpty == false {
      multiLineTextField.becomeFirstResponder()
      multiLineTextField.editable = true
    } else {
      multiLineTextField.editable = false
    }
  }

Ответ 7

-(void)insert{

    if ([_nameofView  isEqual: @""]) {
        UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Alert"
                                                                       message:@"Fill the Name Field First."
                                                                preferredStyle:UIAlertControllerStyleAlert];

        UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
                                                              handler:^(UIAlertAction * action) {}];

        [alert addAction:defaultAction];
        [self presentViewController:alert animated:YES completion:nil];



    }
    else if ([_detailofview  isEqual: @""]){

        UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Alert"
                                                                       message:@"Fill the Details Field First."
                                                                preferredStyle:UIAlertControllerStyleAlert];

        UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
                                                              handler:^(UIAlertAction * action) {}];

        [alert addAction:defaultAction];
        [self presentViewController:alert animated:YES completion:nil];

    }
    else{
        UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Alert"
                                                                       message:@"Data Inserted Successfully."
                                                                preferredStyle:UIAlertControllerStyleAlert];

        UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
                                                              handler:^(UIAlertAction * action) {}];

        [alert addAction:defaultAction];
        [self presentViewController:alert animated:YES completion:nil];

    }
}