Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Password validation in a modal javascript

I am trying to check if two passwords (password1 and password2) in the input fields are the same. If I click the button there is automatically a text which is not in the corresponding condition of the button. I am trying to fix to display a text when – 1) Checking of empty password field. 2) minimum password length validation. 3) maximum length of password validation.
https://jsfiddle.net/chrismontage/onh51g93/4/

function verifyPassword() {
  var pw1 = document.getElementById("password1").value;
  var pw2 = document.getElementById("password2").value;

  // Get the modal
  var modal = document.getElementById("myModal");

  // Get the button that opens the modal
  var btn1 = document.getElementById("myBtn");

  var confirm = document.getElementById("confirm");

  // Get the <span> element that closes the modal
  var span = document.getElementsByClassName("close")[0];


  btn1.onclick = function() {
    modal.style.display = "block";

    //check empty password field

    if (pw1 == "") {
      document.getElementById("message1").innerHTML = "*Please put your new password!";
      return false;
    }

    //minimum password length validation
    if (pw1.length < 8) {
      document.getElementById("message1").innerHTML = "**Password length must be atleast 8 characters";
      return false;
    }

    //maximum length of password validation
    if (pw1.length > 15) {
      document.getElementById("message1").innerHTML = "*Password length must not exceed 15 characters";
      return false;
    } else {
      if (pw1 == pw2) {
        document.getElementById("message1").innerHTML = "Passwords match!";
      } else {
        document.getElementById("message1").innerHTML = "Passwords not match!";
      }
    }

  }

  confirm.onclick = function() {
    modal.style.display = "none";
  }

  // When the user clicks on <span> (x), close the modal
  span.onclick = function() {
    modal.style.display = "none";
  }

  // When the user clicks anywhere outside of the modal, close it
  window.onclick = function(event) {
    if (event.target == modal) {
      modal.style.display = "none";
    }
  }

}
/* The Modal (background) */

.modal {
  display: none;
  /* Hidden by default */
  position: fixed;
  /* Stay in place */
  z-index: 1;
  /* Sit on top */
  padding-top: 100px;
  /* Location of the box */
  left: 0;
  top: 0;
  width: 100%;
  /* Full width */
  height: 100%;
  /* Full height */
  overflow: auto;
  /* Enable scroll if needed */
  background-color: rgb(0, 0, 0);
  /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4);
  /* Black w/ opacity */
}


/* Modal Content */

.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: auto;
  padding: 0;
  border: 1px solid #888;
  max-width: 40%;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
  -webkit-animation-name: animatetop;
  -webkit-animation-duration: 0.4s;
  animation-name: animatetop;
  animation-duration: 0.4s
}


/* Add Animation */

@-webkit-keyframes animatetop {
  from {
    top: -300px;
    opacity: 0
  }
  to {
    top: 0;
    opacity: 1
  }
}

@keyframes animatetop {
  from {
    top: -300px;
    opacity: 0
  }
  to {
    top: 0;
    opacity: 1
  }
}


/* The Close Button */

.close {
  color: white;
  float: right;
  font-size: 28px;
  font-weight: bold;
}

.close:hover,
.close:focus {
  color: $color5;
  text-decoration: none;
  cursor: pointer;
}

.modal-header {
  background-color: $color1;
  color: white;
  text-align: center;
}

.modal-header h2 {
  color: $color1;
  text-align: center;
}

.modal-body {
  padding: 2px 16px;
}

.modal-body h4 {
  font-family: $font1;
  font-weight: normal;
  color: $color4;
  font-size: 20px;
}

.modal-footer {
  padding: 2px 16px;
  color: white;
}

.modal-footer .btn {
  background-color: $color1;
  font-family: $font1;
  font-weight: normal;
  color: $color3;
}

.modal-footer .btn:hover {
  color: $color5;
}
<label for="password">New Password</label>
<input type="password" class="input" id="password1">
<label for="cnfm-password">Confirm Pasword</label>
<input type="password" class="input" id="password2">
<input onclick="verifyPassword()" type="submit" value="Save Changes" class="btn" id="myBtn">

<!-- The Modal -->
<div id="myModal" class="modal">

  <!-- Modal content -->
  <div class="modal-content">
    <div class="modal-header">
      <img src="/images/logo.png" alt="SAMPLE" width="120" class="mx-auto">
      <span class="close">&times;</span>
    </div>

    <div class="modal-body">
      <h4 class="text-center"><span id="message1"></span></h4>
    </div>
    <div class="modal-footer mx-auto">
      <button class="btn" id="confirm">Okay</button>

    </div>
  </div>
</div>

>Solution :

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

you have to fetch the password input value in the button click listener function.

function verifyPassword(){
var pw1 = document.getElementById("password1");
var pw2 = document.getElementById("password2");

// Get the modal
var modal = document.getElementById("myModal");

// Get the button that opens the modal
var btn1 = document.getElementById("myBtn");

var confirm = document.getElementById("confirm");

// Get the <span> element that closes the modal
var span = document.getElementsByClassName("close")[0];


btn1.onclick = function () {
    
    modal.style.display = "block";

    //check empty password field

    if(pw1.value == "") {
        document.getElementById("message1").innerHTML = "*Please put your new password!";
        return false;
    }

    //minimum password length validation
    if(pw1.value.length < 8) {
        document.getElementById("message1").innerHTML = "**Password length must be atleast 8 characters";
        return false;
    }

    //maximum length of password validation
    if(pw1.value.length > 15) {
       document.getElementById("message1").innerHTML = "*Password length must not exceed 15 characters";
       return false;
    } else {
       if(pw1.value == pw2.value){
           document.getElementById("message1").innerHTML=  "Passwords match!";
       }
    
       else {
           document.getElementById("message1").innerHTML=  "Passwords not match!";
       }
    }

}

confirm.onclick = function () {
    modal.style.display = "none";
}

// When the user clicks on <span> (x), close the modal
span.onclick = function() {
    modal.style.display = "none";
  }

  // When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
    if (event.target == modal) {
      modal.style.display = "none";
}
}

}

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading