Using @VisitorFieldValidator loses TextProvider from action
-----------------------------------------------------------
Key: WW-3533
URL: https://issues.apache.org/jira/browse/WW-3533
Project: Struts 2
Issue Type: Bug
Components: Other
Affects Versions: 2.2.1
Environment: Tomcat6 + WindowsXP + Spring + Convention Plugin
Reporter: Rikard Swahn
I'm validating form data posted to a modeldriven action, with
@VisitorFieldValidator applied to the getModel() method. In the object returned
by getModel(), I have for example @RequiredStringValidator(key="property") on a
set method. When adding an error and resolving the property, the TextProvider
from the action is not used, but instead, Struts 2 attempts to resolve the
property via the visited object, which fails.
I think have found the problem. In
DelegatingValidatorContext.makeTextProvider(Object object, LocaleProvider
localeProvider), the method expects object to be the action instance, but in
VisitorFieldValidator, makeTextProvider is called with the visitor object
instead of the action instance. If called with action instance, property
resolving works.
I saw the same problem in an old issue, but then XML validation was used:
http://jira.opensymphony.com/browse/XW-501
Patch included.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.