Spring MVC пользовательская проверка - PullRequest
0 голосов
/ 08 марта 2020

Я проходил урок 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 должна быть включена в веб-страницу, но она также включает в себя ошибку длины в веб-странице. Любое предложение, чтобы избежать ошибки длины на веб-странице, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...