Creation d'user OK (Validator+Persistence), bug sur la modification par contre
This commit is contained in:
@@ -65,6 +65,8 @@ form.register.user.lastName=Last Name
|
|||||||
form.register.user.organization=Organization
|
form.register.user.organization=Organization
|
||||||
form.register.error.loginTooShort=Login must be at least 3 characters long
|
form.register.error.loginTooShort=Login must be at least 3 characters long
|
||||||
form.register.error.loginInvalid=The login can only contain characters, dot, underscore and must start with a character
|
form.register.error.loginInvalid=The login can only contain characters, dot, underscore and must start with a character
|
||||||
|
form.register.error.emailEmpty=Email is required
|
||||||
|
form.register.error.emailInvalid=Syntax of email is invalid, minimize characters if necessary
|
||||||
form.register.error.passwordsDontMatches=The password doesn't match the confirmation
|
form.register.error.passwordsDontMatches=The password doesn't match the confirmation
|
||||||
form.register.error.firstNameEmpty=First name is required
|
form.register.error.firstNameEmpty=First name is required
|
||||||
form.register.error.lastNameEmpty=Last name is required
|
form.register.error.lastNameEmpty=Last name is required
|
||||||
|
|||||||
@@ -4,19 +4,19 @@
|
|||||||
<head></head>
|
<head></head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<h2><fmt:message key="register.title" /></h2>
|
<h1><fmt:message key="register.title" /></h1>
|
||||||
<form:form method="post" commandName="registerUser">
|
<form:form method="post" commandName="registerUser">
|
||||||
<form:hidden path="isNew"/>
|
<form:hidden path="isNew"/>
|
||||||
|
|
||||||
<form:label path="login"><fmt:message key="form.register.user.login" /></form:label> <form:input path="login"/> <br/><br />
|
<form:label path="login"><fmt:message key="form.register.user.login" /></form:label> <form:input path="login"/> <span class="formError"><form:errors path="login" /></span><br/><br />
|
||||||
<form:label path="email"><fmt:message key="form.register.user.email" /></form:label> <form:input path="email"/> <br/><br />
|
<form:label path="email"><fmt:message key="form.register.user.email" /></form:label> <form:input path="email"/> <span class="formError"><form:errors path="email" /></span><br/><br />
|
||||||
|
|
||||||
<form:label path="password"><fmt:message key="form.register.user.password" /></form:label> <form:password path="password"/> <br/><br />
|
<form:label path="password"><fmt:message key="form.register.user.password" /></form:label> <form:password path="password"/> <span class="formError"><form:errors path="password" /></span><br/><br />
|
||||||
<form:label path="passwordConfirm"><fmt:message key="form.register.user.passwordConfirm" /></form:label> <form:password path="passwordConfirm"/> <br/><br />
|
<form:label path="passwordConfirm"><fmt:message key="form.register.user.passwordConfirm" /></form:label> <form:password path="passwordConfirm"/><br/><br />
|
||||||
|
|
||||||
<form:label path="firstName"><fmt:message key="form.register.user.firstName" /></form:label> <form:input path="firstName"/> <br/><br />
|
<form:label path="firstName"><fmt:message key="form.register.user.firstName" /></form:label> <form:input path="firstName"/> <span class="formError"><form:errors path="firstName" /></span><br/><br />
|
||||||
<form:label path="lastName"><fmt:message key="form.register.user.lastName" /></form:label> <form:input path="lastName"/> <br/><br />
|
<form:label path="lastName"><fmt:message key="form.register.user.lastName" /></form:label> <form:input path="lastName"/> <span class="formError"><form:errors path="lastName" /></span><br/><br />
|
||||||
<form:label path="organization"><fmt:message key="form.register.user.organization" /></form:label> <form:input path="organization"/> <br/><br />
|
<form:label path="organization"><fmt:message key="form.register.user.organization" /></form:label> <form:input path="organization"/> <span class="formError"><form:errors path="organization" /></span><br/><br />
|
||||||
|
|
||||||
|
|
||||||
<input type="reset" value="<fmt:message key="button.reset" />"/>
|
<input type="reset" value="<fmt:message key="button.reset" />"/>
|
||||||
|
|||||||
@@ -87,7 +87,12 @@
|
|||||||
value="org.yacos.web.system.form.FormUser" />
|
value="org.yacos.web.system.form.FormUser" />
|
||||||
<property name="formView" value="registerUser" />
|
<property name="formView" value="registerUser" />
|
||||||
<property name="successView" value="listArticle.htm" />
|
<property name="successView" value="listArticle.htm" />
|
||||||
<property name="userManager" ref="userManager" />
|
<property name="userManager" ref="userManager" />
|
||||||
|
<property name="validator" ref="UserValidator"/>
|
||||||
|
</bean>
|
||||||
|
|
||||||
|
<bean id="UserValidator"
|
||||||
|
class="org.yacos.web.system.validation.UserValidator">
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
<bean id="SArticleController"
|
<bean id="SArticleController"
|
||||||
@@ -175,7 +180,6 @@
|
|||||||
|
|
||||||
<bean id="CreateReportController"
|
<bean id="CreateReportController"
|
||||||
class="org.yacos.web.PCmember.controller.CreateReportController">
|
class="org.yacos.web.PCmember.controller.CreateReportController">
|
||||||
|
|
||||||
<property name="articleManager" ref="articleManager" />
|
<property name="articleManager" ref="articleManager" />
|
||||||
</bean>
|
</bean>
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,11 @@
|
|||||||
<head></head>
|
<head></head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<form action="<c:url value='j_acegi_security_check'/>" method="POST" id="formlogin">
|
<form action="<c:url value='j_acegi_security_check'/>" method="POST" id="mainformlogin">
|
||||||
<a href="login.htm" id="connexion"><fmt:message key="login.label.connexion"/> :</a>
|
<a href="login.htm" id="connexion"><fmt:message key="login.label.connexion"/> :</a>
|
||||||
<input type='text' name='j_username' value="<fmt:message key='login.field.login' />" onfocus="if (this.value == '<fmt:message key='login.field.login' />') { this.value = ''; }" onblur="if (this.value == '') { this.value = '<fmt:message key='login.field.login' />'; }" />
|
<input type='text' name='j_username' value="<fmt:message key='login.field.login' />" onfocus="if (this.value == '<fmt:message key='login.field.login' />') { this.value = ''; }" onblur="if (this.value == '') { this.value = '<fmt:message key='login.field.login' />'; }" />
|
||||||
<input type='password' name='j_password' />
|
<input type='password' name='j_password' />
|
||||||
<a href="javascript:document.getElementById('formlogin').submit();" id="submit_btn"><fmt:message key="login.btn.submit" /></a>
|
<a href="javascript:document.getElementById('mainformlogin').submit();" id="submit_btn"><fmt:message key="login.btn.submit" /></a>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -21,8 +21,13 @@ body {
|
|||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.errorMessage {
|
.login_error {
|
||||||
color:red;
|
color: #ff0000;
|
||||||
|
font-size: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formError{
|
||||||
|
color: #ff0000;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,9 @@ public class UserValidator implements Validator {
|
|||||||
/**
|
/**
|
||||||
* @see org.springframework.validation.Validator#supports(java.lang.Class)
|
* @see org.springframework.validation.Validator#supports(java.lang.Class)
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
public boolean supports(Class commandClass) {
|
public boolean supports(Class commandClass) {
|
||||||
return FormUser.class.equals(commandClass);
|
return commandClass.isAssignableFrom(FormUser.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -30,23 +31,47 @@ public class UserValidator implements Validator {
|
|||||||
public void validate(Object commandObject, Errors errors) {
|
public void validate(Object commandObject, Errors errors) {
|
||||||
FormUser userCommand = (FormUser) commandObject;
|
FormUser userCommand = (FormUser) commandObject;
|
||||||
|
|
||||||
// User login
|
validateLogin(userCommand.getLogin(), errors);
|
||||||
Pattern loginPattern = Pattern.compile("^[a-zA-Z][a-zA-Z0-9\\._-]+$");
|
validateEmail(userCommand.getEmail(), errors);
|
||||||
Matcher loginMatcher = loginPattern.matcher(userCommand.getLogin());
|
validatePassword(userCommand, errors);
|
||||||
if(loginMatcher.matches()){
|
|
||||||
errors.rejectValue("login", "form.register.error.loginInvalid");
|
|
||||||
}
|
|
||||||
if(userCommand.getLogin().length()<3){
|
|
||||||
errors.rejectValue("login", "form.register.error.loginTooShort");
|
|
||||||
}
|
|
||||||
|
|
||||||
ValidationUtils.rejectIfEmptyOrWhitespace(errors, userCommand.getPassword(), "form.register.error.passwordEmpty");
|
// FIRSTNAME & LASTNAME VALIDATOR
|
||||||
|
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "firstName", "form.register.error.firstNameEmpty");
|
||||||
|
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "lastName", "form.register.error.lastNameEmpty");
|
||||||
|
}
|
||||||
|
|
||||||
|
// PASSWORD VALIDATOR
|
||||||
|
public void validatePassword(FormUser userCommand, Errors errors){
|
||||||
|
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password", "form.register.error.passwordEmpty");
|
||||||
if(userCommand.passwordWasModified() && (! userCommand.passwordsMatches())){
|
if(userCommand.passwordWasModified() && (! userCommand.passwordsMatches())){
|
||||||
errors.rejectValue("password", "form.register.error.passwordsDontMatches");
|
errors.rejectValue("password", "form.register.error.passwordsDontMatches");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// EMAIL VALIDATOR
|
||||||
|
public void validateEmail(String email, Errors errors){
|
||||||
|
Pattern emailPattern = Pattern.compile("^[a-z0-9._-]+@[a-z0-9._-]{2,}[.][a-z]{2,4}$"); // Regex
|
||||||
|
Matcher emailMatcher = emailPattern.matcher(email);
|
||||||
|
|
||||||
ValidationUtils.rejectIfEmptyOrWhitespace(errors, userCommand.getFirstName(), "form.register.error.firstNameEmpty");
|
if(!emailMatcher.matches()){
|
||||||
ValidationUtils.rejectIfEmptyOrWhitespace(errors, userCommand.getLastName(), "form.register.error.lastNameEmpty");
|
errors.rejectValue("email", "form.register.error.emailInvalid");
|
||||||
|
}
|
||||||
|
ValidationUtils.rejectIfEmpty(errors, "email", "form.register.error.emailEmpty");
|
||||||
|
}
|
||||||
|
|
||||||
|
// LOGIN VALIDATOR
|
||||||
|
public void validateLogin(String login, Errors errors){
|
||||||
|
// 3 caractere mini, commence par un caractere
|
||||||
|
Pattern loginPattern = Pattern.compile("^[a-zA-Z][a-zA-Z0-9._-]+$"); //Regex
|
||||||
|
Matcher loginMatcher = loginPattern.matcher(login);
|
||||||
|
|
||||||
|
if(!loginMatcher.matches()){
|
||||||
|
errors.rejectValue("login", "form.register.error.loginInvalid");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(login.length()<3){
|
||||||
|
errors.rejectValue("login", "form.register.error.loginTooShort");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user