Club-Management-System / public / javascripts / reset_password.js
reset_password.js
Raw
/* eslint-disable no-alert */
    document.getElementById('signupForm').addEventListener('submit', function(event) {
      event.preventDefault();

      var email = document.getElementById('email').value;
      var username = document.getElementById('ID').value;
      var passwordValidationMsg = document.getElementById('passwordValidationMsg');
      var pass = document.getElementById('pass').value;


      const passwordRegex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;

      var rest = {
        email: email,
        username: username,
        password: pass
      };
      if (passwordRegex.test(pass)) {
      fetch('/reset_password', {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json'
        },
        body: JSON.stringify(rest)
      })
        .then(function(response) {
          if (response.ok) {
            // Handle success response
            var errorPopup1 = document.getElementById('errorPopup');
            var errorMessage2 = document.getElementById('errorMessage');
            var closeErrorPopup3 = document.getElementById('closeErrorPopup');

            errorMessage2.textContent = 'reset password successful';
            errorPopup1.style.display = 'block';

            closeErrorPopup3.addEventListener('click', function() {

              errorPopup1.style.display = 'none';
              window.location.href= "./main.html?logged_in=true";
            });

          } else {
            // Handle error response
            var errorPopup = document.getElementById('errorPopup');
            var errorMessage = document.getElementById('errorMessage');
            var closeErrorPopup = document.getElementById('closeErrorPopup');

            errorMessage.textContent = 'Invalid email or ID, please make sure you\'ve entered the correct information.';
            errorPopup.style.display = 'block';

            closeErrorPopup.addEventListener('click', function() {
              errorPopup.style.display = 'none';
            });
          }
        })
        .catch(function(error) {
          // Handle network or fetch API errors
          // eslint-disable-next-line no-console
          console.error('Error:', error);
        });
    } else{
      passwordValidationMsg.textContent = 'Password must be at least 8 characters long and contain at least one lowercase letter, one uppercase letter, one digit, and one special character.';
    }
  });