2016-06-04 18 views
0

Ich bin Anfänger auf Android und ich bin auf der Suche nach einer Möglichkeit, wie kann ich überprüfen, ob ein Benutzername bereits in Parse Datenklasse (Benutzer) in Android vorhanden ist.Überprüfen, ob ParseUser existiert vor der Anmeldung

btnreg.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       ParseUser user = new ParseUser(); 
       user.setUsername(etmail.getText().toString()); 
       user.setPassword(etpwd.getEditableText().toString()); 
       user.put("nom_prenom", etname.getText().toString()); 
       user.put("tel", ettel.getText().toString()); 
       user.put("adresse", adresse.getText().toString()); 
       user.put("sexe", spsexs.getSelectedItem().toString()); 
       user.put("annee_naissance",spnaissance.getSelectedItem().toString()); 
       user.put("ville", spville.getSelectedItem().toString()); 
       user.signUpInBackground(new SignUpCallback() { 
        public void done(ParseException e) { 
         if (e == null) { 
          // Show a simple Toast message upon successful registration 



         } else { 
          alerte("Oupss!!", "Error..." + e.getMessage(), 0); 

         } 
        } 


        public void done(com.parse.ParseException e) { 
         alerte("Succes", "Inscription terminée..", 1); 
        } 
       }); 

Ich möchte überprüfen, ob ein Benutzername in Parse existieren: Wenn es existieren will ich einen Fehler oder eine Nachricht zeigen („username bereits genommen“).

+0

Ich würde Cloud Code vorschlagen. https://gist.github.com/cricket007/10001273 –

Antwort

0

Warum Sie dies tun wollen, wird parse das für sich tun.

Sie können dies verfolgen mit ParseException Objekt, das Sie in SignUpCallback done-Methode erhalten.

Versuchen Sie, Nachricht dieser ParseException zu erhalten.

+0

aber ich möchte eine Fehlermeldung in meinem Fall parse nur keinen Benutzer mit einem Benutzernamen, aber ich habe einen Fehler in meinem Code hinzufügen: parse zeigen die gleiche Nachricht für alle Anmeldung (erfolgreich und erfolglos) –

0

Es kann hilfreich sein, das ParseUI-Modul zu überprüfen, da alle diese Szenarien abgedeckt sind. Hier ist ein Ausschnitt von ParseSignupFragment.java, der die Validierung durchführt:

user.signUpInBackground(new SignUpCallback() { 

      @Override 
      public void done(ParseException e) { 
       if (isActivityDestroyed()) { 
        return; 
       } 

       if (e == null) { 
        loadingFinish(); 
        signupSuccess(); 
       } else { 
        loadingFinish(); 
        if (e != null) { 
         debugLog(getString(com.parse.ui.R.string.com_parse_ui_login_warning_parse_signup_failed) + 
           e.toString()); 
         switch (e.getCode()) { 
          case ParseException.INVALID_EMAIL_ADDRESS: 
           showToast(com.parse.ui.R.string.com_parse_ui_invalid_email_toast); 
           break; 
          case ParseException.USERNAME_TAKEN: 
           showToast(com.parse.ui.R.string.com_parse_ui_username_taken_toast); 
           break; 
          case ParseException.EMAIL_TAKEN: 
           showToast(com.parse.ui.R.string.com_parse_ui_email_taken_toast); 
           break; 
          default: 
           showToast(com.parse.ui.R.string.com_parse_ui_signup_failed_unknown_toast); 
         } 
        } 
       } 
      } 
     }); 
+0

wenn ich (e.getcode) einen Fehler angezeigt "Kann Methode getcode nicht lösen" –

+0

Es ist Groß-und Kleinschreibung, überprüfen Sie, dass Sie e.getCode() haben. Außerdem gibt es immer e.getMessage(), die nur eine Zeichenfolge mit der Fehlerbeschreibung angeben. –

Verwandte Themen