You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by "David Evans (JIRA)" <ji...@apache.org> on 2006/04/27 07:23:45 UTC
[jira] Reopened: (STR-1520) Validating all Fields.
[ http://issues.apache.org/struts/browse/STR-1520?page=all ]
David Evans reopened STR-1520:
------------------------------
Assign To: (was: Rob Leland)
> Validating all Fields.
> ----------------------
>
> Key: STR-1520
> URL: http://issues.apache.org/struts/browse/STR-1520
> Project: Struts Action 1
> Type: Improvement
> Components: Taglibs
> Versions: Nightly Build
> Environment: Operating System: All
> Platform: All
> Reporter: Marcelo Caldas
> Priority: Minor
> Fix For: 1.2 Family
> Attachments: JavascriptValidatorTagDiff.txt, JavascriptValidatorTagDiff.txt, ValidatorPlugInDiff.txt
>
> One enhancement I added is to be able to validate all Rules instead of stopping
> at the first error found. This is very useful, depending on how you want to
> present the error handling to the user - Alert pop-ups are not the most
> efficient way. So, I created a Parameter on the ValidatorPlugIn.java, to
> receive a boolean wheter it should stop validating at the first error
> encountered (default behavior) or if it should validate all the way - no matter
> what.
> Files modified for this enhancement:
> org.apache.struts.validator.ValidatorPlugIn
> org.apache.struts.taglib.html.JavascriptValidatorTag
> Diffs (From RC2):
> ValidatorPlugIn.java:
> ===========================Init ValidatorPlugIn.java Diff =====================
> 112a113,116> /**
> > * Application scope key that <code>StopOnError</code> is stored under.
> > */
> > public final static String STOP_ON_ERROR_KEY
> = "org.apache.commons.validator.STOP_ON_ERROR";
> 142a147,168> /**
> > * Informs the Validators if it has to stop validation when finding the
> first Error
> > * or if it should continue.
> > * Default to true to keep backwards compatibility.
> > */
> > private boolean stopOnFirstError = true;
> > /**
> > * Gets the value for stopOnFirstError.
> > * @return a boolean indicating whether validator should stop when
> finds the first error
> > * or continue validation.
> > */
> > public boolean isStopOnFirstError() {
> > return stopOnFirstError;
> > }
> > /**
> > * Sets the value for stopOnFirstError.
> > * @param newValue a boolean indicating whether validator should stop
> when finds the first error
> > * or continue validation.
> > */
> > public void setStopOnFirstError(boolean newValue) {
> > this.stopOnFirstError = newValue;
> > }
> 164a191,193> servlet.getServletContext().setAttribute(
> > STOP_ON_ERROR_KEY + config.getPrefix(),
> > new Boolean(stopOnFirstError));
> ====================== End ValidatorPlugIn diff ===============================
> JavascriptValidatorTag:
> ===================== Init JavascriptValidatorTag.java diff ===================
> 315a316,322> Object stopOnErrorObj = pageContext.getAttribute
> (ValidatorPlugIn.STOP_ON_ERROR_KEY + config.getPrefix(),
> > PageContext.APPLICATION_SCOPE);
> > boolean stopOnError = true;
> > if (stopOnErrorObj != null && (stopOnErrorObj instanceof Boolean)) {
> > stopOnError = ((Boolean)stopOnErrorObj).booleanValue();
> > }
> >
> 390a398> if (stopOnError) {
> 391a400,402> } else {
> > methods += " & " + va.getMethod() + "(form)";
> > }
> ==================== End JavascripValidatorTag diff ===========================
> Usage:
> If you want the normal behavior provided by struts today - you don't have to
> worry about any configuration - The default is to behave as of today - the
> Javascript will stop when the first error is encountered.
> If you want to validate all the way, you can set a new property on the
> validator plug in tag on your struts-config.xml as follow:
> <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
> <set-property property="pathnames"
> value="/WEB-INF/validation.xml,/WEB-INF/validator-
> rules.xml"/>
> <set-property property="stopOnFirstError" value="true"/>
> </plug-in>
> If there's any questions or concerns, please send an e-mail to
> mscaldas2001@yahoo.com
> Regards,
> Marcelo Caldas
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/struts/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org