Add password error check

This commit is contained in:
Sofia Baltzi 2017-10-19 11:32:17 +00:00
parent 13a2d72bad
commit 34426bebfd
3 changed files with 130 additions and 29 deletions

View File

@ -45,20 +45,26 @@ public class ResetPasswordServlet extends HttpServlet {
String password = request.getParameter("password"); String password = request.getParameter("password");
String confirmPassword = request.getParameter("password_conf"); String confirmPassword = request.getParameter("password_conf");
// if (username != null) {
if (password.equals(confirmPassword) && username != null) { if (password.equals(confirmPassword) && username != null) {
try { try {
ldapActions.resetPassword(username, password); ldapActions.resetPassword(username, password);
logger.info("password resetted"); logger.info("password resetted");
} catch (Exception e) { } catch (Exception e) {
logger.error("LDAP error in resetting password", e); logger.error("LDAP error in resetting password", e);
response.sendRedirect("./error.jsp"); response.sendRedirect("./error.jsp");
}
} }
}
session.removeAttribute("username"); session.removeAttribute("username");
response.sendRedirect("./success.jsp"); response.sendRedirect("./success.jsp");
printWriter.close(); printWriter.close();
// } else {
// response.sendRedirect("./forgotPassword.jsp");
// printWriter.close();
// }
} }
} }

View File

@ -6,6 +6,7 @@ function validateForm() {
var password_conf = $("#password_conf").val(); var password_conf = $("#password_conf").val();
var isValidEmail = validateEmail(email); var isValidEmail = validateEmail(email);
var isValidPassword = validatePassword(password);
var hasError = false; var hasError = false;
var isEmailFilled = false; var isEmailFilled = false;
var isPasswordFilled = false; var isPasswordFilled = false;
@ -121,16 +122,33 @@ function validateForm() {
} }
if(isPasswordFilled) { if(isPasswordFilled) {
// Check if passwords match // Check if passwords match
if (!confirm(password, password_conf)) { if (!confirm(password, password_conf)) {
$("#password").addClass('uk-input aai-form-danger'); $("#password").addClass('uk-input aai-form-danger');
$("#password_conf").addClass('uk-input aai-form-danger'); $("#password_conf").addClass('uk-input aai-form-danger');
$(".msg_pass_conf_error").show(); $(".msg_pass_conf_error").show();
hasError = true; hasError = true;
} else { } else {
$(".msg_pass_conf_error").hide(); $(".msg_pass_conf_error").hide();
}
} }
}
if(!isValidPassword) {
$("#password").addClass('uk-input aai-form-danger');
$(".msg_please_add").show();
$(".msg_lowercase_letter").show();
$(".msg_capital_letter").show();
$(".msg_number").show();
$(".msg_lenght").show();
hasError = true;
} else {
$("#password").removeClass('aai-form-danger');
$(".msg_please_add").hide();
$(".msg_lowercase_letter").hide();
$(".msg_capital_letter").hide();
$(".msg_number").hide();
$(".msg_lenght").hide();
}
} }
return !hasError; return !hasError;
@ -141,6 +159,11 @@ function validateEmail(email) {
return re.test(email); return re.test(email);
} }
function validatePassword(password) {
var pattern = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}$/;
return pattern.test(password);
}
function confirm(first, second) { function confirm(first, second) {
if (first == second) if (first == second)
return true; return true;

View File

@ -1,5 +1,10 @@
<!DOCTYPE html> <!DOCTYPE html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%--<% if (session.getAttribute("username") == null) {--%>
<%--String redirectURL = "/dnet-openaire-users-1.0.0-SNAPSHOT/forgotPassword.jsp";--%>
<%--response.sendRedirect(redirectURL);--%>
<%--}--%>
<%--%>--%>
<%--<%String name=(String)request.getAttribute("name");--%> <%--<%String name=(String)request.getAttribute("name");--%>
<%--out.print("your name"+name);%>--%> <%--out.print("your name"+name);%>--%>
<html lang="en-gb" dir="ltr" vocab="http://schema.org/"> <html lang="en-gb" dir="ltr" vocab="http://schema.org/">
@ -45,7 +50,7 @@
<!-- CENTER SIDE --> <!-- CENTER SIDE -->
<div class="uk-width-1-1@m uk-width-1-1@s uk-text-center"> <div class="uk-width-1-1@m uk-width-1-1@s uk-text-center">
<div class="middle-box text-center loginscreen animated fadeInDown "> <div class="middle-box text-center loginscreen animated fadeInDown ">
<p>To complete the password reset process, please enter a new password.</p> <p>To complete the password reset process, please enter a new password. <b>Must contain at least one number and one uppercase and lowercase letter, and at least 6 or more characters.</b></p>
<div class="uk-width-1-3@m uk-align-center"> <div class="uk-width-1-3@m uk-align-center">
<!-- REGISTER FORM --> <!-- REGISTER FORM -->
<div id="registerForm"> <div id="registerForm">
@ -56,7 +61,14 @@
<div class="form-group"> <div class="form-group">
<span class="msg_password_error uk-text-danger uk-text-small uk-float-left" style="display:none">Please enter your password.</span> <span class="msg_password_error uk-text-danger uk-text-small uk-float-left" style="display:none">Please enter your password.</span>
<span class="msg_pass_conf_error uk-text-danger uk-text-small uk-float-left" style="display:none">These passwords don't match.</span> <span class="msg_pass_conf_error uk-text-danger uk-text-small uk-float-left" style="display:none">These passwords don't match.</span>
<input id="password" name="password" type="password" placeholder="Password" class="form-control"></div> <p><span class="msg_please_add uk-text-danger uk-text-small uk-float-left" style="display:none">Please add: &nbsp</span></p>
<li><span class="msg_lowercase_letter uk-text-danger uk-text-small uk-float-left" style="display:none">A lowercase letter. &nbsp</span></li>
<li><span class="msg_capital_letter uk-text-danger uk-text-small uk-float-left" style="display:none">A capital (uppercase) letter. &nbsp </span></li>
<li><span class="msg_number uk-text-danger uk-text-small uk-float-left" style="display:none">A number. &nbsp</span></li>
<li><span class="msg_lenght uk-text-danger uk-text-small uk-float-left" style="display:none">Minimum 6 characters. &nbsp</span></li>
<div id="message">
</div>
<input id="password" name="password" type="password" placeholder="Password" class="form-control"></div>
<div class="form-group"> <div class="form-group">
<input id="password_conf" name="password_conf" type="password" placeholder="Confirm password" class="form-control"></div> <input id="password_conf" name="password_conf" type="password" placeholder="Confirm password" class="form-control"></div>
<div class="uk-margin uk-grid-small uk-child-width-auto uk-grid uk-text-left uk-grid-stack" uk-grid=""> <div class="uk-margin uk-grid-small uk-child-width-auto uk-grid uk-text-left uk-grid-stack" uk-grid="">
@ -68,16 +80,76 @@
</div> </div>
<!-- END OF REGISTER FORM --> <!-- END OF REGISTER FORM -->
<script> <script>
$("#password").focusin(function() {
$(this).removeClass('aai-form-danger');
$(".msg_password_error").fadeOut();
$(".msg_pass_conf_error").fadeOut();
});
$("#password_conf").focusin(function() { var myInput = document.getElementById("password");
// When the user starts to type something inside the password field
myInput.onkeyup = function() {
// Validate lowercase letters
var lowerCaseLetters = /[a-z]/g;
if (myInput.value.match(lowerCaseLetters)) {
$(".msg_lowercase_letter").fadeOut();
} else {
//$(".msg_please_add").fadeIn();
$(".msg_lowercase_letter").fadeIn();
}
// Validate capital letters
var upperCaseLetters = /[A-Z]/g;
if (myInput.value.match(upperCaseLetters)) {
$(".msg_capital_letter").fadeOut();
} else {
//$(".msg_please_add").fadeIn();
$(".msg_capital_letter").fadeIn();
}
// Validate numbers
var numbers = /[0-9]/g;
if (myInput.value.match(numbers)) {
$(".msg_number").fadeOut();
} else {
//$(".msg_please_add").fadeIn();
$(".msg_number").fadeIn();
}
// Validate length
if (myInput.value.length >= 6) {
$(".msg_lenght").fadeOut();
} else {
//$(".msg_please_add").fadeIn();
$(".msg_lenght").fadeIn();
}
if(myInput.value.match(lowerCaseLetters) && myInput.value.match(upperCaseLetters)
&& myInput.value.match(numbers) && (myInput.value.length >= 6)){
if($(".msg_please_add").css('display')!='none'){
$(".msg_please_add").fadeOut();
}
} else {
if($(".msg_please_add").css('display')=='none') {
$(".msg_please_add").fadeIn();
}
}
$("#password").focusin(function () {
$(this).removeClass('aai-form-danger');
$(".msg_please_add").fadeOut();
$(".msg_password_error").fadeOut();
$(".msg_pass_conf_error").fadeOut();
$(".msg_lowercase_letter").fadeOut();
$(".msg_capital_letter").fadeOut();
$(".msg_number").fadeOut();
$(".msg_lenght").fadeOut();
});
$("#password_conf").focusin(function () {
$(this).removeClass('aai-form-danger'); $(this).removeClass('aai-form-danger');
$(".msg_pass_conf_error").fadeOut(); $(".msg_pass_conf_error").fadeOut();
}); });
}
</script> </script>
</div> </div>
</ul> </ul>