2
votes

vérifier si la connexion a réussi?

Je compare les valeurs de stockage local avec les valeurs d'entrée. Si les valeurs sont correctes, je veux imprimer une alerte («connexion réussie»). Sinon alert ('login failed'). Parce que c'est une boucle, je dois en quelque sorte vérifier si l'alerte («connexion réussie») s'est déclenchée. Et sinon. Imprimer l'alerte ('échec de la connexion'). Des idées?

login(){
    let data = JSON.parse(localStorage.getItem('data'));

    for (let index = 0; index < data.length; index++) {    
      if(this.state.email === data[index].email && this.state.password === data[index].password){
          alert("login successful");
      }
    }
  }


2 commentaires

Pourriez-vous s'il vous plaît poster le code entier ou créer un codeandbox, ou un jsFiddle? Il est difficile de comprendre votre application et votre comportement en fonction de ce code, à quoi ressemblent vos données ? pourquoi itérez-vous l'objet de données?


Mon code n'est pas pertinent car mes entrées et mon stockage local fonctionnent. J'avais juste besoin d'aide avec la logique de boucle for.


3 Réponses :


1
votes

Vous pouvez savoir si la connexion a réussi ou non avec une variable, et vérifier la valeur de cette variable après la boucle pour voir ce que vous devez alerter.

login() {
  const data = JSON.parse(localStorage.getItem("data"));
  let isSuccessful = false;

  for (let index = 0; index < data.length; index++) {
    if (
      this.state.email === data[index].email &&
      this.state.password === data[index].password
    ) {
      isSuccessful = true;
      break;
    }
  }

  if (isSuccessful) {
    alert("login successful");
  } else {
    alert("login failed");
  }
}


0 commentaires

0
votes

Ajoutez simplement une variable à la boucle qui vérifie si la connexion a réussi?

login(){
    let data = JSON.parse(localStorage.getItem('data'));
    let loginSuccessfull = false;

    for (let index = 0; index < data.length; index++) {    
      if(this.state.email === data[index].email && this.state.password === data[index].password){
          alert("login successful");
          loginSuccessfull = true;
      }
    }
    if(!loginSuccessfull) {
        alert("login failed");
    }

  }


0 commentaires

1
votes

Si cela correspond à l'e-mail et à pwd, affichez la boîte de dialogue réussie et renvoie

sinon affichez la boîte de dialogue infructueuse

login() {
  let data = JSON.parse(localStorage.getItem('data'));

  for (let index = 0; index < data.length; index++) {
    if (this.state.email === data[index].email && this.state.password === data[index].password) {
      alert("login successful");
      return;
    }
  }
  alert("login Unsuccessful");
}


0 commentaires