2016-10-13 4 views
5

Ich frage mich, wie ich die richtige überprüfen, ob ein UITextView leer.rasche Überprüfung, ob Textview leer ist

Im Moment habe ich eine Validierung fucntion, die die Kontrolle hat:

if let descText = myTextView.text { 
    if descText.isEmpty { 
     descErrorLabel.isHidden = false 
    } else { 
     descErrorLabel.isHidden = true 
    } 
} 

Es dieses genug, um den Benutzer senden Sie eine leere Textview zu verhindern oder muss ich prüfen, von Whitespaces auch, so etwas wie:

stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet()).isEmpty 
+0

später validieren ist gut. –

+0

http://stackoverflow.com/questions/33036458/how-to-check-uitextfield-is-not-blank-in-swift-2-0-is-there-besser-way-to-count/33036724 –

+0

@ EricAya aktualisiert – user2636197

Antwort

6

Man könnte es auf den in so etwas wie dies rollen ...

func validate(textView textView: UITextView) -> Bool { 
    guard let text = textView.text, 
     !text.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines).isEmpty else { 
     // this will be reached if the text is nil (unlikely) 
     // or if the text only contains white spaces 
     // or no text at all 
     return false 
    } 

    return true 
} 

Dann Sie können alle UITextView wie ...

if validate(textView: textView) { 
    // do something 
} else { 
    // do something else 
}