Prerequisites

Exercises

Implement a strategy that will allow unauthenticated clients to register with MailReader (as they can now), but will also allow authenticated users to edit his or her registration after logging into MailReader.

You may need to subclass the Register class to configure one set of Validations for editing and another for creating. The subclass doesn't need to override any methods to have it's own ClassName-validation.xml file.

Hint Code

Whether a client is authenticated can be determined by checking getUser()!=null

One solution utilizes a Task property to set an Action property to determine if the workflow is in "Edit" or "Create" mode. Other solutions are possible.

When editing an existing account, changing the password should be optional.

Creating an account may require more validation than editing since a confirmation password is required. One solution is to create an empty RegisterCreate subclass to provide a place to store the extra validation.