You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Jochen Kemnade (JIRA)" <ji...@apache.org> on 2016/08/22 06:48:23 UTC

[jira] [Closed] (TAP5-1919) Hidden field component that participates with validation (ValidationTracker)

     [ https://issues.apache.org/jira/browse/TAP5-1919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jochen Kemnade closed TAP5-1919.
--------------------------------
    Resolution: Incomplete

We assume this is no longer relevant and therefore close it.
If you still have this issue in a recent Tapestry version (such as 5.4.1 or newer), feel free to provide the necessary information and reopen.

> Hidden field component that participates with validation (ValidationTracker)
> ----------------------------------------------------------------------------
>
>                 Key: TAP5-1919
>                 URL: https://issues.apache.org/jira/browse/TAP5-1919
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: tapestry-core
>    Affects Versions: 5.3
>            Reporter: Geoff Callender
>              Labels: bulk-close-candidate
>
> Since Hidden is not tracked by the Validation Tracker, its value is lost when a page redirects to display validation errors. I'd like to see a new component, say Tracked. I guess it would be the same as Hidden and extend AbstractTextField or similar.
> Why? A common use case is to use Hidden for an entity's version field in a Form to provide optimistic locking. By using Tracked instead of Hidden I could do this...
>     <form t:type="Form" t:id="person" >
>         <t:tracked value="person.version"/>
>         :
>     </form>
> ...instead of this...
>     <form t:type="Form" t:id="person" >
>          <t:hidden value="person.version"/>
>         :
>     </form>
>     // This carries version through the redirect that follows a server-side validation failure.
>     @Persist(PersistenceConstants.FLASH)
>     private Integer versionFlash;
>     void onPrepareForRender() throws Exception {
>         person = findPerson(personId);
>         // If the form has errors then we're redisplaying after a redirect.
>         // Form will restore your input values but it's up to us to restore Hidden values.
>         if (form.getHasErrors()) {
>             person.setVersion(versionFlash);
>         }
>     }
> 	
>     void onFailure() {
>         versionFlash = person.getVersion();
>     }
> Thoughts?
> Geoff



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)