You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2013/07/24 08:09:48 UTC

[jira] [Created] (ISIS-478) Provide conditional choices, defaults and validation between action parameters

Dan Haywood created ISIS-478:
--------------------------------

             Summary: Provide conditional choices, defaults and validation between action parameters
                 Key: ISIS-478
                 URL: https://issues.apache.org/jira/browse/ISIS-478
             Project: Isis
          Issue Type: New Feature
          Components: Core, Viewer: Wicket
    Affects Versions: core-1.2.0, viewer-wicket-1.2.0
            Reporter: Dan Haywood
            Assignee: Dan Haywood
             Fix For: viewer-wicket-1.3.0, core-1.3.0


For example, suppose there is an action to specify an address, where we specify the country, the state and the postcode.  We want the state to have choices and a default dependent on the country, and we want the postcode to be validated according to the rules of that country.

public Address enterAddress(Country c, State st, @Named("Postcode") String postcode) { ... }

Any dependent parameter must supply a param-specific validate [this is a new method prefix]:

public String validate1EnterAddress(Country c, State st, String postcode) {  ... }
public String validate2EnterAddress(Country c, State st, String postcode) {  ... }

The choices and defaults for State also accept all param types preceding:

public List<State> choices1EnterAddress(Country c) { ... }
public State default1EnterAddress(Country c) { ... }

When the user enters a value for the country, this is passed to these methods.  If the user tabs directly to the State param without entering the country, then these would return empty lists/value.

If the user enters a value for the country, then corresponding entries for the state and postcode, and then tabs back to the country and enters a different value, then the validateNXxx methods are called (for all N > 0, country being param 0).  If the validate methods indicate their current value is invalid, then the values are set to null or to the recomputed default (if a default method is available).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira