public void validate(Object command, Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "randomkey",
"required");
CreateUserRequestCommand comm = (CreateUserRequestCommand) command;
log.info(comm.getOpenIDusername() + " " + comm.getUsername()
+ " " + comm.getRandomkey());
boolean standard = comm.isStandard();
boolean openID = comm.isOpenID();
if (standard && openID) {
errors.rejectValue("username", "invalid.username.both");
errors.rejectValue("openIDusername", "invalid.username.both");
}
if (!standard && !openID) {
errors.rejectValue("username", "invalid.username.oneorother");
errors.rejectValue("openIDusername",
"invalid.username.oneorother");
}
if (standard) {
doStandardValidation(comm, errors);
} else if (openID) {
doOpenIDValidation(comm, errors);
}
if (!invitationService.isKeyValid(comm.getRandomkey())) {
errors.rejectValue("randomkey", "invalid");
}
MailingListEntry entry = invitationService.getEntryForKey(comm
.getRandomkey());
if (entry != null && entry.getSignedUpUser() != null) {
errors.rejectValue("randomkey", "invalid.randomkey.exists");
}