You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org> on 2008/02/19 18:46:43 UTC

[jira] Commented: (TAPESTRY-2176) Select component cannot store a blank value on the client side and have it represent null.

    [ https://issues.apache.org/jira/browse/TAPESTRY-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12570335#action_12570335 ] 

Howard M. Lewis Ship commented on TAPESTRY-2176:
------------------------------------------------

>From the stack trace, it looks like things may have worked, and that the submit failed because the value passed from the client to the server (the null) was then used when generating a URL.

I'll be putting together a test to see how well this is all handled.

> Select component cannot store a blank value on the client side and have it represent null.
> ------------------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-2176
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-2176
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Core Components
>    Affects Versions: 5.0.10
>         Environment: Windows XP, Eclipse 3.3.1, Hibernate, Jetty
>            Reporter: Daniel
>            Assignee: Howard M. Lewis Ship
>
> When implementing a select component that is populated with values from a database column, which represents a many to one relationship with the object/entity represented by the form containing the select component, blank values can be added and validated when editing the object/entity, but not when creating a new object/entity.
> For example, on a form representing a Product entity that contains a select component with a list of Manufacturers, it is possible to:
> 1. have a blank Manufacturer by default
> 2. edit a Product and select the blank Manufacturer and get the validation="required" message when attempting to save
> but it is not possible to get the validation message when creating a new Product if the blank Manufacturer is selected when saving. Instead the following exception (partial) is thrown:
>    * org.apache.tapestry.ioc.internal.util.Defense.notBlank(Defense.java:59)
>    * org.apache.tapestry.internal.TapestryInternalUtils.encodeContext(TapestryInternalUtils.java:519)
>    * org.apache.tapestry.internal.services.ComponentInvocationImpl.getPath(ComponentInvocationImpl.java:101)
>    * org.apache.tapestry.internal.services.ComponentInvocationImpl.buildURI(ComponentInvocationImpl.java:60)
>    * org.apache.tapestry.internal.services.LinkImpl.buildURI(LinkImpl.java:105)
>    * org.apache.tapestry.internal.services.LinkImpl.toRedirectURI(LinkImpl.java:120)
>    * org.apache.tapestry.internal.services.ResponseImpl.sendRedirect(ResponseImpl.java:69)
>    * org.apache.tapestry.internal.services.ActionRenderResponseGeneratorImpl.generateResponse(ActionRenderResponseGeneratorImpl.java:45)
>    * org.apache.tapestry.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:66)
>    * org.apache.tapestry.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42)
>    * org.apache.tapestry.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
>    * org.apache.tapestry.services.TapestryModule$39.handle(TapestryModule.java:2073)
>    * org.apache.tapestry.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:131)
>    * org.apache.tapestry.services.TapestryModule$13.service(TapestryModule.java:911)
>    * com.formos.project.services.AppModule$1.service(AppModule.java:134)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org