public void validate(Object target, Errors errors) { 
	ValidationUtils.rejectIfEmpty(errors, "username", "required", new Object[] { "Username" }); 
	ValidationUtils.rejectIfEmpty(errors, "password", "required", new Object[] { "Password" }); 
	ValidationUtils.rejectIfEmpty(errors, "emailAddress", "required", new Object[] { "Email address" }); 
	ValidationUtils.rejectIfEmpty(errors, "address.street", "required", new Object[] { "Street" }); 
	ValidationUtils.rejectIfEmpty(errors, "address.city", "required", new Object[] { "City" }); 
	ValidationUtils.rejectIfEmpty(errors, "address.country", "required", new Object[] { "Country" }); 

	if (!errors.hasFieldErrors("emailAddress")) { 
		Account account = (Account) target; 
		String email = account.getEmailAddress(); 
		if (!email.matches(EMAIL_PATTERN)) { 
			errors.rejectValue("emailAddress", "invalid"); 
		} 
	} 
}

        
main