Everybody, That mode="cancel" parameter of the Submit component really irritates me. It only skips client-side validation, not server-side validation. Would anybody object if I changed that?
Howard actually started making this change as TAP5-1604 many years ago but reversed himself because skipping server-side validation would be a backward incompatibility. But I wonder if that's really true except in rare cases. I think when most users try the mode="cancel" parameter they are surprised to find that it doesn't bypass server-side validation, and their eventual response is to add junk code like this: boolean wasCanceled; void onCanceled() { wasCanceled = true; } void onValidateFromForm() { if (wasCanceled) { return; } [perform server-side validation] } My proposed 3-line change to Form.java would not break code like the above, and would make such checks unneccessary. And all current Tapestry tests pass cleanly (which admittedly just means that this scenario is not well covered by tests). References: http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/corelib/components/Submit.html http://tapestry.apache.org/5.3/apidocs/org/apache/tapestry5/corelib/SubmitMode.html https://issues.apache.org/jira/browse/TAP5-1604 https://issues.apache.org/jira/browse/TAP5-1856 https://issues.apache.org/jira/browse/TAP5-1503 https://issues.apache.org/jira/browse/TAP5-1451 https://issues.apache.org/jira/browse/TAP5-86 --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org For additional commands, e-mail: dev-h...@tapestry.apache.org