[
https://issues.apache.org/jira/browse/ISIS-478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dan Haywood closed ISIS-478.
----------------------------
> 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: viewer-wicket-1.2.0, core-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 was sent by Atlassian JIRA
(v6.1#6144)