I have the similar problem; I thinks it's because the FormFragment renders
a hidden element, when the zone gets refreshed, the hidden element's
disable property is set to be true, which is invalid, then the elements
within the FromFragment get submitted  I guess it's related to
isDeepVisible() Javascript function. Please correct me if I am wrong.

Probably you could specify the visibleBound property of the FormFragment,
to override the default behavior.





On Thu, Jul 11, 2013 at 7:16 AM, Joost Schouten (ml)
<joost...@jsportal.com>wrote:

> Hi,
>
> I'm using a FormFragment triggered by two Radio's in a RadioGroup. This all
> works fine and validation works as expected. The hidden Fragment is ignored
> when the form is submitted. Except for one situation:
>
> when I load the Form and containing FormFragment's in a Zone and use the
> visible attribute on the FormFragment to hide one of them due to a
> preselected Radio, the server will validate the fields in the Hidden
> FormFragment as well. If I select the Radio's back and forth it works as
> expected. When debugging I noticed the ProcessSubmission ComponentActions
> are executed where they are not when the formfragment is ignored as
> expected. Also the t:formdate is longer in my failing case as opposed to
> the scenario where it ignores my hidden fields. This leads me to believe
> there is some sort of javascript initialization call not being called in my
> failing case.
>
> Has anyone seen this before? And clues on how to solve it? I'm on Tap 5.3.6
>
> Thanks,
> Joost
>
> some of my code:
>
> @Component(id = "paymentTypeRadioGroup", parameters = {"value=paymentType",
>
>  "label=message:components.entities.EntitiesCreditCard.payByTypeLabel",
>
>  "validate=required"})
>
> private RadioGroup paymentTypeRadioGroup;
>
>
>   @Mixins("TriggerFragment")
>
> @Component(id = "payByCreditCardRadio", parameters = {
> "value=literal:CREDIT_CARD",
>
>  "label=message:components.entities.EntitiesCreditCard.payByCreditCard",
>
>  "fragment=creditCardBlock"})
>
> private Radio payByCreditCardRadio;
>
>
>  @Mixins("TriggerFragment")
>
> @Component(id = "payByInvoiceRadio", parameters = {
> "value=literal:MANUAL_INVOICE",
>
>  "label=message:components.entities.EntitiesCreditCard.payByInvoice",
>
>  "fragment=manualInvoiceBlock"})
>
> private Radio payByInvoiceRadio;
>
>
>   @Component(id = "creditCardBlock", parameters = {
>
>  "visible=prop:showCreditCardBlock",
>
>  "alwaysSubmit=literal:false"})
>
> private FormFragment creditCardBlock;
>
>
>  @Component(id = "manualInvoiceBlock", parameters = {
>
>  "visible=prop:showManualInvoiceBlock",
>
>  "alwaysSubmit=literal:false"})
>
> private FormFragment manualInvoiceBlock;
>

Reply via email to