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.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.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.firstNameEmpty=First name is required
|
||||
form.register.error.lastNameEmpty=Last name is required
|
||||
|
||||
@@ -4,19 +4,19 @@
|
||||
<head></head>
|
||||
<body>
|
||||
|
||||
<h2><fmt:message key="register.title" /></h2>
|
||||
<h1><fmt:message key="register.title" /></h1>
|
||||
<form:form method="post" commandName="registerUser">
|
||||
<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="email"><fmt:message key="form.register.user.email" /></form:label> <form:input path="email"/> <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"/> <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="firstName"><fmt:message key="form.register.user.firstName" /></form:label> <form:input path="firstName"/> <br/><br />
|
||||
<form:label path="lastName"><fmt:message key="form.register.user.lastName" /></form:label> <form:input path="lastName"/> <br/><br />
|
||||
<form:label path="organization"><fmt:message key="form.register.user.organization" /></form:label> <form:input path="organization"/> <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"/> <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"/> <span class="formError"><form:errors path="organization" /></span><br/><br />
|
||||
|
||||
|
||||
<input type="reset" value="<fmt:message key="button.reset" />"/>
|
||||
|
||||
@@ -88,6 +88,11 @@
|
||||
<property name="formView" value="registerUser" />
|
||||
<property name="successView" value="listArticle.htm" />
|
||||
<property name="userManager" ref="userManager" />
|
||||
<property name="validator" ref="UserValidator"/>
|
||||
</bean>
|
||||
|
||||
<bean id="UserValidator"
|
||||
class="org.yacos.web.system.validation.UserValidator">
|
||||
</bean>
|
||||
|
||||
<bean id="SArticleController"
|
||||
@@ -175,7 +180,6 @@
|
||||
|
||||
<bean id="CreateReportController"
|
||||
class="org.yacos.web.PCmember.controller.CreateReportController">
|
||||
|
||||
<property name="articleManager" ref="articleManager" />
|
||||
</bean>
|
||||
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
<head></head>
|
||||
<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>
|
||||
<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' />
|
||||
<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>
|
||||
|
||||
</body>
|
||||
|
||||
@@ -21,8 +21,13 @@ body {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.errorMessage {
|
||||
color:red;
|
||||
.login_error {
|
||||
color: #ff0000;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.formError{
|
||||
color: #ff0000;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,8 +20,9 @@ public class UserValidator implements Validator {
|
||||
/**
|
||||
* @see org.springframework.validation.Validator#supports(java.lang.Class)
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
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) {
|
||||
FormUser userCommand = (FormUser) commandObject;
|
||||
|
||||
// User login
|
||||
Pattern loginPattern = Pattern.compile("^[a-zA-Z][a-zA-Z0-9\\._-]+$");
|
||||
Matcher loginMatcher = loginPattern.matcher(userCommand.getLogin());
|
||||
if(loginMatcher.matches()){
|
||||
errors.rejectValue("login", "form.register.error.loginInvalid");
|
||||
}
|
||||
if(userCommand.getLogin().length()<3){
|
||||
errors.rejectValue("login", "form.register.error.loginTooShort");
|
||||
validateLogin(userCommand.getLogin(), errors);
|
||||
validateEmail(userCommand.getEmail(), errors);
|
||||
validatePassword(userCommand, errors);
|
||||
|
||||
// FIRSTNAME & LASTNAME VALIDATOR
|
||||
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "firstName", "form.register.error.firstNameEmpty");
|
||||
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "lastName", "form.register.error.lastNameEmpty");
|
||||
}
|
||||
|
||||
ValidationUtils.rejectIfEmptyOrWhitespace(errors, userCommand.getPassword(), "form.register.error.passwordEmpty");
|
||||
// PASSWORD VALIDATOR
|
||||
public void validatePassword(FormUser userCommand, Errors errors){
|
||||
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password", "form.register.error.passwordEmpty");
|
||||
if(userCommand.passwordWasModified() && (! userCommand.passwordsMatches())){
|
||||
errors.rejectValue("password", "form.register.error.passwordsDontMatches");
|
||||
}
|
||||
}
|
||||
|
||||
ValidationUtils.rejectIfEmptyOrWhitespace(errors, userCommand.getFirstName(), "form.register.error.firstNameEmpty");
|
||||
ValidationUtils.rejectIfEmptyOrWhitespace(errors, userCommand.getLastName(), "form.register.error.lastNameEmpty");
|
||||
// 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);
|
||||
|
||||
if(!emailMatcher.matches()){
|
||||
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