Справочная информация: Я использую Struts2 с плагинами REST и Convention, поэтому около 99% моих настроек находятся в классах, которые я пишу, а не в xml-файлах. С Конвенцией, вы можете настроить сервер и на сторону клиента валидации с аннотациями на методе, например, Счет Создать метод я использую, выглядит так:Перехватчик проверки подлинности Struts2 собирается в xhtml документ
@Validations(
requiredFields = {
@RequiredFieldValidator(type = ValidatorType.SIMPLE, fieldName = "userName", message = "You must enter a value for field."),
@RequiredFieldValidator(type = ValidatorType.SIMPLE, fieldName = "firstName", message = "You must enter a value for field."),
@RequiredFieldValidator(type = ValidatorType.SIMPLE, fieldName = "lastName", message = "You must enter a value for field."),
@RequiredFieldValidator(type = ValidatorType.SIMPLE, fieldName = "password", message = "You must enter a value for field.")
},
emails = {@EmailValidator(type = ValidatorType.SIMPLE, fieldName = "email", message = "You must enter a value for email.")},
stringLengthFields = {
@StringLengthFieldValidator(type = ValidatorType.SIMPLE, trim = true, minLength = "6", maxLength = "16", fieldName = "userName", message = "Username must be at least 6 letters."),
@StringLengthFieldValidator(type = ValidatorType.SIMPLE, trim = true, minLength = "8", maxLength = "16", fieldName = "password", message = "Password must be at least 8 characters.")
}
)
public String create() {
//create the account
}
Это прекрасно работает, The Javascript правильно толкнул к JSP, форма проверяется до того, как они попадут в submit, и проверка на стороне сервера отлично работает. Если все условия выполнены, метод create()
называется правильно и все работает.
Проблема заключается в том, что проверка на стороне клиента отключена и завершается с ошибкой на стороне сервера. Вся документация говорит мне, что перехватчик Validation отправляет пользователя обратно в форму с правильными полевыми ошибками, установленными для того, чтобы пользователь мог исправить свою проблему, но в моем приложении он просто перенаправляется на совершенно пустую страницу.
Вопрос - Как сообщить о перехватчике проверки, в котором форма должна быть перенаправлена так, чтобы значения могли быть заполнены, и полевые правила могут быть правильно установлены?