From a4916a56e204d3b11cda73997dab50a22661c470 Mon Sep 17 00:00:00 2001 From: Christian Corsano Date: Thu, 24 Jan 2008 16:05:13 +0000 Subject: [PATCH] Commit de UserValidator --- .../web/system/validation/UserValidator.java | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 YACOSWeb/src/org/yacos/web/system/validation/UserValidator.java diff --git a/YACOSWeb/src/org/yacos/web/system/validation/UserValidator.java b/YACOSWeb/src/org/yacos/web/system/validation/UserValidator.java new file mode 100644 index 0000000..a9c1f0f --- /dev/null +++ b/YACOSWeb/src/org/yacos/web/system/validation/UserValidator.java @@ -0,0 +1,52 @@ +/** + * + */ +package org.yacos.web.system.validation; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.springframework.validation.Errors; +import org.springframework.validation.ValidationUtils; +import org.springframework.validation.Validator; +import org.yacos.web.system.form.FormUser; + +/** + * @author christiancorsano + * + */ +public class UserValidator implements Validator { + + /** + * @see org.springframework.validation.Validator#supports(java.lang.Class) + */ + public boolean supports(Class commandClass) { + return FormUser.class.equals(commandClass); + } + + /** + * @see org.springframework.validation.Validator#validate(java.lang.Object, org.springframework.validation.Errors) + */ + 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"); + } + + ValidationUtils.rejectIfEmptyOrWhitespace(errors, userCommand.getPassword(), "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"); + } + +}