не сохранять данные в localStorage, пока не будут заполнены все входы - PullRequest
0 голосов
/ 09 мая 2018

У меня есть два входа. один для входа в систему, а другой для пароля. Но прежде чем хранить в LocalStorage, мне нужно проверить входные данные. Дело в том, что данные сохраняются в LS несмотря на пустое поле пароля. попробуйте использовать Break, но, кажется, не успешно. вопрос, как предотвратить сохранение данных в локальном хранилище, пока пользователь не заполнит все поля ввода.

  function validate() {
  var userInput = document.querySelectorAll(".form__input");
  var regex = /[^a-z|^A-Z|^0-9|^\s^\w+^\"']/;

  for(var i = 0; i < userInput.length; i++) {
    if(userInput[i].value === "") {
      alert("Please fill all required fields!");
      break;
    }
    else if(userInput[i].value.match(regex)) {
      alert("Please use an appropriate symbols!");
      break;
    }
    localStorage.setItem('Login', userInput[0].value);
  }
}

1 Ответ

0 голосов
/ 09 мая 2018

Добавьте оператор else в конце.

function validate() {
  if(validateFields){
      localStorage.setItem('Login', userInput[0].value);
    }
 }

function validateFields(){
 var retVal = false;
 var userInput = document.querySelectorAll(".form__input");
  var regex = /[^a-z|^A-Z|^0-9|^\s^\w+^\"']/;
 for(var i = 0; i < userInput.length; i++) {
    if(userInput[i].value === "") {
      alert("Please fill all required fields!");
      break;
    }
    else if(userInput[i].value.match(regex)) {
      alert("Please use an appropriate symbols!");
      break;
    }else{
      retval = true;
    }
  }
 return retval;
}

Примечание. Я просто переработал код, чтобы он заработал.Плохая идея хранить пользовательские данные, такие как пароли, в локальном хранилище, так как это открывает уязвимость.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...