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