2016-04-15 9 views
0

So habe ich in meiner Anmeldung ein Registrierungsformular, aber ein Problem. Hier ist mein Code:Registrierungsformular in der Anwendung

@IBAction func registerButtonAction(sender: AnyObject) { 
     if (fullnameTextField.text == ""){ 
      self.fullnameTextField.shake() 
     } 
     if (usernameTextfield.text == ""){ 
      self.usernameTextfield.shake() 
     } 
     if (usernameTextfield.text?.characters.count < 6){ 
      usernameTextfield.shake() 
     } 
     if (emailTextfield.text == ""){ 
      self.emailTextfield.shake() 
     } 
     if (passwordTextfield.text == ""){ 
      self.passwordTextfield.shake() 
     } 
     if (retypepasswordTextfield.text == ""){ 
      self.retypepasswordTextfield.shake() 
     } 
     else{ 
      registerButton.setTitle("Registering user...", forState: UIControlState.Normal) 
      registerButton.alpha = 0.20 
      registerButton.enabled = false 
      registerUser() 
     } 
    } 

Erstens: Kann ich diesen Code kleiner, einfacher? Und zweitens möchte ich, dass der Benutzer nur startet registerUser(), wenn alle UITextField Text hat, und usernameTextField und passwordTextField hat Zeichen zählen über 6. Auch wie zu beheben, dass passwordTextField und retypepasswordTextfield hat denselben Text vor der Registrierung? Irgendwelche Vorschläge?

Antwort

1

Das ist ein bisschen besser meiner Meinung nach:

@IBAction func registerButtonAction(sender: AnyObject) { 
    let validInput = true 
    let allTextFields = [fullnameTextField, usernameTextfield, emailTextfield, passwordTextfield, retypepasswordTextfield] 
    for textField in allTextFields { 
     if textField.text == "" { 
      validInput = false 
      textField.shake() 
     } 
    } 

    let theTextFieldsWithMin6Characters = [usernameTextfield, passwordTextfield] 
    for textField in theTextFieldsWithMin6Characters { 
     if textField.text?.characters.count < 6 { 
      validInput = false 
      textField.shake() 
     } 
    } 
    if passwordTextfield.text != retypepasswordTextfield.text { 
     validInput = false 
     retypepasswordTextfield.shake() 
    } 

    if validInput { 
     registerButton.setTitle("Registering user...", forState: UIControlState.Normal) 
     registerButton.alpha = 0.20 
     registerButton.enabled = false 
     registerUser() 
    } 
} 
+0

Die '' retypepasswordTextfield jetzt die ganze Zeit wackelt, auch wenn der Text als Passwort gleich ist und mehr als 6 Zeichen .. –

+0

Fügen Sie Haltepunkte und versuchen, finde heraus warum es wackelt. – dasdom

+0

Sieht aus wie Erik Auranaune es repariert hat! Danke Leute :) –

Verwandte Themen