Change username regulars expression - Allow usernames that start with character or digit, Change error messages
This commit is contained in:
parent
d4554e7296
commit
56e1b3f7d2
|
@ -1,6 +1,7 @@
|
|||
package eu.dnetlib.openaire.usermanagement;
|
||||
|
||||
import eu.dnetlib.openaire.user.utils.EmailSender;
|
||||
import org.apache.commons.validator.routines.EmailValidator;
|
||||
import eu.dnetlib.openaire.user.utils.LDAPActions;
|
||||
import eu.dnetlib.openaire.user.utils.VerificationActions;
|
||||
import eu.dnetlib.openaire.usermanagement.utils.UrlConstructor;
|
||||
|
@ -64,7 +65,7 @@ public class RegisterServlet extends HttpServlet {
|
|||
try {
|
||||
|
||||
if (username.matches("^[a-zA-Z0-9\\.\\_\\-]{4,150}") && !ldapActions.usernameExists(username) && !ldapActions.emailExists(email)
|
||||
&& !ldapActions.isZombieUsersEmail(email) && !ldapActions.isZombieUsersUsername(username)) {
|
||||
&& !ldapActions.isZombieUsersEmail(email) && !ldapActions.isZombieUsersUsername(username) && EmailValidator.getInstance().isValid(email)) {
|
||||
|
||||
ldapActions.createZombieUser(username, email, firstName, lastName, organization, password);
|
||||
logger.info("Zombie user successfully created");
|
||||
|
@ -115,9 +116,15 @@ public class RegisterServlet extends HttpServlet {
|
|||
}
|
||||
|
||||
if (!username.matches("^[a-zA-Z0-9\\.\\_\\-]")) {
|
||||
request.getSession().setAttribute("username_allowed_message", "You can use only letters, numbers, underscores, hyphens and periods.");
|
||||
request.getSession().setAttribute("username_allowed_chars_message", "You can use letters, numbers, underscores, hyphens and periods.");
|
||||
logger.info("Only letters, numbers, underscores, hyphens and periods.");
|
||||
}
|
||||
|
||||
if (!username.matches("^[a-zA-Z0-9].*")) {
|
||||
request.getSession().setAttribute("username_first_char_message", "The username must start with letter or digit.");
|
||||
logger.info("The username must start with letter or digit.");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (ldapActions.usernameExists(username) || ldapActions.isZombieUsersUsername(username)) {
|
||||
|
@ -130,6 +137,11 @@ public class RegisterServlet extends HttpServlet {
|
|||
logger.info("There is another user with this email");
|
||||
}
|
||||
|
||||
if (!EmailValidator.getInstance().isValid(email)) {
|
||||
request.getSession().setAttribute("email_message", "Please enter a valid email.");
|
||||
logger.info("Invalid email.");
|
||||
}
|
||||
|
||||
if (ldapActions.isZombieUsersEmail(email)) {
|
||||
request.getSession().setAttribute("email_message", "You have already registered with this email address! Please check your email to activate your account or contact OpenAIRE <a href=\"https://www.openaire.eu/support/helpdesk\">helpdesk</a>.");
|
||||
logger.info("There is another user with this email");
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
function validateForm() {
|
||||
|
||||
var username = $("#username").val();
|
||||
var email = $("#email").val();
|
||||
var email_conf = $("#email_conf").val();
|
||||
var password = $("#password").val();
|
||||
var password_conf = $("#password_conf").val();
|
||||
|
||||
var isValidUsername = validateUsername(username);
|
||||
var isValidEmail = validateEmail(email);
|
||||
var isValidPassword = validatePassword(password);
|
||||
var hasError = false;
|
||||
|
@ -61,19 +59,6 @@ function validateForm() {
|
|||
}
|
||||
}
|
||||
|
||||
// If username is filled
|
||||
if (isUsernameFilled) {
|
||||
// Check if username is valid
|
||||
if (!isValidUsername) {
|
||||
$("#username").addClass('uk-input aai-form-danger');
|
||||
$(".msg_username_allowed_characters").show();
|
||||
hasError = true;
|
||||
} else {
|
||||
$(".msg_username_allowed_characters").hide();
|
||||
$("#username").removeClass('aai-form-danger');
|
||||
}
|
||||
}
|
||||
|
||||
if($("#verification_code").val() != undefined) {
|
||||
if($.trim($("#verification_code").val()).length <= 0) {
|
||||
$("#verification_code").addClass('uk-input aai-form-danger');
|
||||
|
@ -173,11 +158,6 @@ function validateForm() {
|
|||
return !hasError;
|
||||
}
|
||||
|
||||
function validateUsername(username) {
|
||||
var re = /^[a-zA-Z0-9._-]{4,150}$/;
|
||||
return re.test(username);
|
||||
}
|
||||
|
||||
function validateEmail(email) {
|
||||
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
|
||||
return re.test(email);
|
||||
|
|
|
@ -75,11 +75,15 @@
|
|||
<div class="form-group">
|
||||
<span class="msg_username_min_lenght uk-text-danger uk-text-small uk-float-left" style="display:none">Minimum username length 5 characters.</span>
|
||||
<span class="msg_username_max_lenght uk-text-danger uk-text-small uk-float-left" style="display:none">Maximum username length 150 characters.</span>
|
||||
<span class="msg_username_allowed_characters uk-text-danger uk-text-small uk-float-left" style="display:none">You can use only letters, numbers, underscores, hyphens and periods.</span>
|
||||
<span class="msg_username_start uk-text-danger uk-text-small uk-float-left" style="display:none">The username must start with letter or digit.</span>
|
||||
<span class="msg_username_allowed_characters uk-text-danger uk-text-small uk-float-left" style="display:none">You can use letters, numbers, underscores, hyphens and periods.</span>
|
||||
<span class="msg_username_error uk-text-danger uk-text-small uk-float-left" style="display:none">Please enter your username.</span>
|
||||
<span id="username_server_error" class="uk-text-danger uk-text-small uk-float-left">${username_message}</span>
|
||||
<span id="username_allowed_server_error" class="uk-text-danger uk-text-small uk-float-left">${username_allowed_message}</span>
|
||||
<span id="username_allowed_chars_server_error" class="uk-text-danger uk-text-small uk-float-left">${username_allowed_chars_message}</span>
|
||||
<span id="username_first_char_server_error" class="uk-text-danger uk-text-small uk-float-left">${username_first_char_message}</span>
|
||||
<c:remove var="username_message" scope="session" />
|
||||
<c:remove var="username_allowed_chars_message" scope="session" />
|
||||
<c:remove var="username_first_char_message" scope="session" />
|
||||
<input id="username" name="username" type="text" placeholder="Username (*)" class="form-control" value=${username}></div>
|
||||
<c:remove var="username" scope="session" />
|
||||
<div class="form-group">
|
||||
|
@ -180,16 +184,20 @@
|
|||
} else {
|
||||
$(".msg_username_max_lenght").fadeIn();
|
||||
}
|
||||
var allowedChars = /^[a-zA-Z0-9._-]{4,150}$/;
|
||||
var allowedChars = /^[a-zA-Z0-9._-]*$/;
|
||||
if (usernameInput.value.match(allowedChars)) {
|
||||
$(".msg_username_allowed_characters").fadeOut();
|
||||
} else {
|
||||
$(".msg_username_allowed_characters").fadeIn();
|
||||
}
|
||||
var startsWith = /^[a-zA-Z0-9].*/;
|
||||
if (usernameInput.value.match(startsWith)) {
|
||||
$(".msg_username_start").fadeOut();
|
||||
} else {
|
||||
$(".msg_username_start").fadeIn();
|
||||
}
|
||||
}
|
||||
// myEmailInput.onfocusOut = function() {
|
||||
//
|
||||
// }
|
||||
|
||||
|
||||
$("#first_name").focusin(function () {
|
||||
$(this).removeClass('aai-form-danger');
|
||||
|
@ -205,8 +213,8 @@
|
|||
$(this).removeClass('aai-form-danger');
|
||||
$(".msg_username_error").fadeOut();
|
||||
$("#username_server_error").fadeOut();
|
||||
$("#username_allowed_server_error").fadeOut();
|
||||
|
||||
$("#username_allowed_chars_server_error").fadeOut();
|
||||
$("#username_first_char_server_error").fadeOut();
|
||||
});
|
||||
|
||||
$("#email").focusin(function () {
|
||||
|
|
Loading…
Reference in New Issue