web-dev-qa-db-ja.com

テキストフィールドが空かどうかを確認するSwift

これを行う方法を説明するスタックオーバーフローページがたくさんあることは知っていますが、ここからコードを取得して配置するたびに同じエラーが発生し、そのエラーは「文字列」の値ですか?メンバー「テキスト」がありませんテキストフィールドが空であるかどうかをすばやくチェックするために機能する確実な方法のアイデアはありますか?

let userEmail = userEmailTextField.text;
// Check for empty fields
if (userEmail.text.isEmpty) {
    // Display alert message
    return;
}
3

この投稿 良い答えが与えられます(「受け入れられた」マークがないのは残念です)。使用する (self.field.text?.isEmpty ?? true)

textFieldが次のように宣言されていると仮定します。

    @IBOutlet weak var textField: UITextField!

あなたはその空をチェックすることができます:

    if textField.text?.isEmpty ?? true {
        print("textField is empty")
    } else {
        print("textField has some text")
    }

編集した投稿で変数を使用するには:

    let userEmail = userEmailTextField.text;
    // Check for empty fields
    if userEmail?.isEmpty ?? true {
        // Display alert message
        return;
    }

または:

    // Check for empty fields
    if userEmailTextField.text?.isEmpty ?? true {
        // Display alert message
        return;
    }
33
OOPer

textプロパティはオプションです。したがって、Stringまたはnilを含めることができます。

nilを空のStringとして扱いたい場合は、次のように記述します。

let isEmpty = (textField.text ?? "").isEmpty
4
Luca Angeletti

または、次を使用することもできます。

Swift 3:

if (textField.text.characters.count > 0) {
   print("text field not empty")
} else {
   print("text field empty")
}

Swift 4.x以降:

if (textField.text.count > 0) {
       print("text field not empty")
    } else {
       print("text field empty")
    }
3
Shobhit C

写真とカバーコードの例を教えてください。

@IBAction func save(_ sender: Any) {
    print("Saving...")
    //CHECK MANDATORY FIELDS
    checkMandatoryFields()
}

private func checkMandatoryFields(){

    //CHECK EMPTY FIELDS
    if let type = typeOutle.text, let name = nameOutlet.text, let address = addressOutlet.text, type.isEmpty || name.isEmpty || address.isEmpty {
        print("Mandatory fields are: ")
        errorDisplay(error: "Mandatory fields are: Type, Name, Address.")
        return
    }

    //CHECK SPACE ONLY FIELDS
}

enter image description here

1
coders

APIにリクエストを送信する必要があり、""の代わりにnillを送信する必要があったため、このチェックが役に立ちました。 textFieldはテキストなしです。

textField.text!.count > 0  ? textField.text : nil

または、次の方法で確認できます(ただし、このオプションは私には合いませんでした)。

if textField.text != nil {

} else {

}
0
iAleksandr

これに対する正解は次のとおりです。

textField.text = ""
if (textField.text.isEmpty) {
    print("Ooops, it's empty")
}
0
user7615773