worked perfectly, thanks. see, I knew I was missing *something* :)
-will
On Dec 3, 2007, at 1:41 PM, Filip S. Adamsen wrote:
Try moving your validation logic to onValidate. If any errors are
added to the form in this method Tapestry won't call onSuccess but
display the page again with your errors shown in the Errors component.
-Filip
Will Norris skrev:
As usual, I'm sure I'm just missing something here... I can't quite
figure how to do validation of a custom component. I basically
want to do what is described here[0] about using onSuccess(), but
in a component rather than a page. I basically have a PasswordForm
component which itself has a form, and that needs to verify that
the "password" and "confirm password" fields are equal. I'm able
to do this validation in PasswordForm.onSuccess() without any
trouble....
String onSuccess() {
if (!password.equals(password2)) {
log.error("Passwords don't match");
form.recordError("Passwords don't match");
return null;
}
}
but how do I notify the containing page that there is an error?
Currently, the page just moves right along after logging my error
message. I've tried throwing a ValidationException from
onSuccess(), but that ends up being displayed to the user with a
stacktrace and all. I even looked at the standard Form component's
onAction method and copied some stuff from there (specifically
looking at _resources.triggerEvent(FAILURE, context, handler)) but
that didn't help at all. I separately tried extending
AbstractField and overriding processSubmission() as suggested in
one post, but that didn't do much for me.
Any suggestions would be much appreciated.
[0]: http://tapestry.apache.org/tapestry5/tapestry-core/guide/validation.html
-will
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]