You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Geoff Callender (JIRA)" <ji...@apache.org> on 2012/04/26 14:58:17 UTC

[jira] [Created] (TAP5-1919) Hidden is not tracked by Validation Tracker

Geoff Callender created TAP5-1919:
-------------------------------------

             Summary: Hidden is not tracked by Validation Tracker
                 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


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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1919) A Hidden that is also tracked by Validation Tracker

Posted by "Geoff Callender (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13262635#comment-13262635 ] 

Geoff Callender commented on TAP5-1919:
---------------------------------------

Is Tapestry 5.4 going to make this redundant by ditching the Post/Redirect/Get pattern following server-side validation errors?
                
> A Hidden that is also tracked by Validation Tracker
> ---------------------------------------------------
>
>                 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
>
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TAP5-1919) A Hidden that is also tracked by Validation Tracker

Posted by "Geoff Callender (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Geoff Callender updated TAP5-1919:
----------------------------------

    Description: 
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


  was:
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


    
> A Hidden that is also tracked by Validation Tracker
> ---------------------------------------------------
>
>                 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
>
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TAP5-1919) A Hidden that is also tracked by Validation Tracker

Posted by "Geoff Callender (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Geoff Callender updated TAP5-1919:
----------------------------------

    Summary: A Hidden that is also tracked by Validation Tracker  (was: Hidden is not tracked by Validation Tracker)
    
> A Hidden that is also tracked by Validation Tracker
> ---------------------------------------------------
>
>                 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
>
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TAP5-1919) A Hidden that is also tracked by Validation Tracker

Posted by "Geoff Callender (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Geoff Callender updated TAP5-1919:
----------------------------------

    Summary: A Hidden that is also tracked by Validation Tracker  (was: Hidden is not tracked by Validation Tracker)
    
> A Hidden that is also tracked by Validation Tracker
> ---------------------------------------------------
>
>                 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
>
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (TAP5-1919) A Hidden that is also tracked by Validation Tracker

Posted by "Geoff Callender (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/TAP5-1919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13262635#comment-13262635 ] 

Geoff Callender commented on TAP5-1919:
---------------------------------------

Is Tapestry 5.4 going to make this redundant by ditching the Post/Redirect/Get pattern following server-side validation errors?
                
> A Hidden that is also tracked by Validation Tracker
> ---------------------------------------------------
>
>                 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
>
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (TAP5-1919) A Hidden that is also tracked by Validation Tracker

Posted by "Geoff Callender (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/TAP5-1919?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Geoff Callender updated TAP5-1919:
----------------------------------

    Description: 
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


  was:
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


    
> A Hidden that is also tracked by Validation Tracker
> ---------------------------------------------------
>
>                 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
>
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira