DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26486>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=26486 enhance "required" and other validation actions for form reuse Summary: enhance "required" and other validation actions for form reuse Product: Struts Version: 1.1 Final Platform: Other URL: http://jakarta.apache.org/commons/dtds/validator_1_1.dtd OS/Version: Other Status: NEW Severity: Enhancement Priority: Other Component: Validator Framework AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] The registration form is the example used often. What should a programmer do if a registered user later can change her/his profile? My assumption would be to re-use the same form since the fields are almost identical? Except that in this case, a user should no longer be able to change the login name or for example a once chosen price plan that last several month as per the T&C. When using validator actions in this scenario, I expect several problems to occur: Depending on the the form's "action" context (e.g. registerAction.do or changeProfileAction.do) 1) a field required in one context is not required in another (or even "not allowed" in the other) 2) if both form action contexts are using a wizard, the page number for a particular field may not be the same? Conclusion --> Suggestion: ========================== - the "required" value of the "depends" attribute might better be an attribute to a "rule" element that has an "action" attribute and "page" attribute? e.g. your example <field property="lastName" depends="required,mask" page="1"> <msg name="mask" key="registrationForm.lastname.maskmsg"/> <arg0 key="registrationForm.lastname.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> ... <field property="email" depends="required,email" page="2"> <arg0 key="registrationForm.email.displayname"/> </field> could then be <field property="lastName"> <rule "required" action="registerAction" page="1" /> <rule "required" action="changeProfileAction" page="2" /> <rule "mask" action="registerAction" page="1" /> <rule "mask" action="changeProfileAction" page="3" /> <msg name="mask" key="registrationForm.lastname.maskmsg"/> <arg position="0" key="registrationForm.lastname.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> ... <field property="emailLogin" page="2"> <rule "required" action="registerAction" /> <rule "email" action="registerAction" /> <!-- no need to have an "unchanged" rule since changeProfileAction.java would not act upon an emailLogin form field submitted by a browser anyway --> <arg position="0" key="registrationForm.email.displayname"/> </field> What do you think? --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]