Я обновил Struts в одном из проектов с 2.3.x до 2.5.12 (также пробовал с 2.5.13) и вижу, что после этого обновления проверки не происходит.
У меня в JSP:
<s:form action="details">
<s:textfield name="fullName" size="20" label="full.name" requiredLabel="true" />
<s:checkbox id="terms" name="terms" requiredLabel="true" />
<s:submit name="submit" id="submit" value="Submit" />
</s:form>
Название действия TestStrutsAction.java
. Моя проверка xml TestStrutsAction-validation.xml
выглядит так:
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<field name="fullName">
<field-validator type="requiredstring">
<message key="fullname.error"/>
</field-validator>
<field-validator type="regex">
<param name="expression"><![CDATA[^[0-9A-Za-z&\-./\s]*$]]></param>
<message key="fullname.invalid"/>
</field-validator>
</field>
<field name="terms">
<field-validator type="fieldexpression">
<param name="expression">terms eq true</param>
<message key="terms.error"/>
</field-validator>
</field>
</validators>
Я переопределил проверку в своем классе действий как:
@Override
public void validate() {
super.validate();
LOG.debug(getFieldErrors());
}
Я попытался выполнить отладку и не вижу ошибок поля в методе validate
класса действия.
Кто-нибудь знает, почему у меня возникла эта проблема после обновления? Спасибо
validate
в своем классе действий только для регистрации ошибок. При отправке со страницы jsp я вижу, что управление приходит для проверки метода, но ошибок в полях не добавляется. Я обновил свой вопрос, добавив методvalidate
. Спасибо за ваш ответ. - person Prasann   schedule 30.10.2017