Я проходил урок https://mkyong.com/spring-mvc/spring-mvc-handling-multipage-forms-with-abstractwizardformcontroller/ по обработке многостраничных форм. Мне нужно написать пользовательскую проверку для userName . Мое требование состоит в том, чтобы длина имени пользователя составляла четыре символа, а в середине можно было использовать пробел для разделения двух символов. например, все эти входные данные для имени пользователя действительны (abcd, cd ef, a1 b c). Вот мой код.
public void validatePage1Form(Object target, Errors errors) {
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName",
"required.userName", "Field name is required.");
User obj=(User)target;
if(obj.getUserName()!="")
{
if(!obj.getUserName().matches("\\b\\w{4}\\b")) {
errors.rejectValue("userName", "length", new Object[]{"'user'"}, "minimum 4 characters");
}
else if(!obj.getUserName().matches("\\w{2}[\\s]\\w{2}"))
{
errors.rejectValue("userName", "nameformat", new Object[]{"'user'"}, "wrong format");
}
}
}
Моя проблема в том, что если я введу как cd% ef или a1 + b c только второе условие, т.е. ошибка nameformat должна быть включена в веб-страницу, но она также включает в себя ошибку длины в веб-странице. Любое предложение, чтобы избежать ошибки длины на веб-странице, пожалуйста?