I've run into a bit of a sticking point on form validation and I'm wondering whether anyone else has encountered this. I have an Action EditUserAction that works with a UserForm to edit a user's data (e.g. first name, last name. email, etc.). In my Action, I check the request for a valid token. If the token is not valid, I get the user's data from the database (via the model layer) and populate the form with it. I then forward control to a jsp that displays the form. If the token is valid, I update the user's data in the database (again via the model layer) with the data in the form. So I use the same Action to initially populate the form and then to process the submitted form.
The problem I'm running into, is that I want to begin using form validation. So I created a validate method that ensures the email address is not null or zero-length. The problem is, that the error message is displayed the first time the form is displayed (i.e. before the form is submitted). It seems I should only validate the form when it is submitted rather than the first time it is displayed. It is currently being validated before the user submits it, so if the user has not previously submitted an email address, when they first see the form, the error message "Email address is required" appears. My current design would call for the form validation to be invoked only when the token is valid. But Struts doesn't seem to lend itself to validating a token within a form (because the token validation methods are protected instance methods of Action). It feels a bit like I'm fighting the direction the framework wants to go, which makes me think my design is flawed. Any suggestions? Should I use two separate actions, one to populate the form and one to process the submit? That would allow me to set validation on one and not the other. Should I check for a valid token inside my validate() method and only look for errors if the token is valid? Thanks in advance for your suggestions. Sean -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

