I'm not at a computer to try this ... but I do this all the time so it
definitely works like you're hoping.

You've posted alot of code so its a bit difficult to trace what is commented
out and what is not ... but starting with your original post, uncomment the
following:

        final FeedbackPanel feedback = new FeedbackPanel("feedback");
        feedback.setOutputMarkupId(true);
        add(feedback);

Now, be sure to add this (I think this is the part you're missing - or I
missed in reading your snippets):

        feedback.setOutputMarkupPlaceholderTag(true);

And then make sure you add it to the target in the submit handler:

        target.addComponent(feedback);

I think you're doing/done all of this at one time with varied components -
but my guess is that you've got to double check and make sure you're doing
all three things specifically for the feedback panel.

Hope this helps,

-Luther



Its hard to tell what

On Fri, Jun 19, 2009 at 4:21 PM, jpalmer1026 <[email protected]> wrote:

>
> Actually, validation messages are now getting displayed for validation
> performed on components but I am still unable to get error messages that I
> have added to be displayed. For example, in the following code, I need a
> way
> to display the line "No PIN found for PIN" but I am not sure how to do
> that.
> Any ideas?
>
> final AjaxSubmitLink verifyPinLink = new AjaxSubmitLink("verifyPinLink") {
>            @Override
>            public void onSubmit(AjaxRequestTarget target, Form form) {
> //                target.addComponent(feedback);
> //                onError(target, form);
>
>                Declaration declaration = (Declaration)
> form.getModelObject();
>                ParcelIdentification pid =
> declarationService.findParcelIdentification(declaration.getPin());
>                if (pid == null) {
>                    error("No PIN found for PIN " + declaration.getPin());
>                } else {
>                    InitiateDeclarationVerifyPanel decVerifyPanel = new
> InitiateDeclarationVerifyPanel("verifyPanel", pid);
>                    parent.addOrReplace(decVerifyPanel);
>                    parent.setVisible(true);
>                    this.setEnabled(false);
>                    reenterPinLink.setVisible(true);
>                    target.addComponent(this);
>                    target.addComponent(parent);
>                    target.addComponent(reenterPinLink);
>                }
>            }
>
>             @Override
>            public void onError(AjaxRequestTarget target, Form form) {
>                target.addComponent(feedback);
>            }
>        };
>
>
> jpalmer1026 wrote:
> >
> > I called target.addComponent for the feedbackpanel but still no luck. My
> > updated code is as follows:
> >
> >  final AjaxSubmitLink verifyPinLink = new AjaxSubmitLink("verifyPinLink")
> > {
> >             @Override
> >             public void onSubmit(AjaxRequestTarget target, Form form) {
> >                 target.addComponent(feedback);
> >                 onError(target, form);
> >
> >                 Declaration declaration = (Declaration)
> > form.getModelObject();
> >                 ParcelIdentification pid =
> > declarationService.findParcelIdentification(declaration.getPin());
> >                 if (pid == null) {
> >                     error("No PIN found for PIN " +
> declaration.getPin());
> >                 } else {
> >                     InitiateDeclarationVerifyPanel decVerifyPanel = new
> > InitiateDeclarationVerifyPanel("verifyPanel", pid);
> >                     parent.addOrReplace(decVerifyPanel);
> >                     parent.setVisible(true);
> >                     this.setEnabled(false);
> >                     reenterPinLink.setVisible(true);
> >                     target.addComponent(this);
> >                     target.addComponent(parent);
> >                     target.addComponent(reenterPinLink);
> >                 }
> >             }
> >         };
> >
> > Erik van Oosten wrote:
> >>
> >> You did not call target.addComponent for the feedbackpanel or any of its
> >> parents.
> >>
> >> Regards,
> >>     Erik.
> >>
> >>
> >> [email protected] schreef:
> >>> I am using an AjaxSubmitLink to submit form data. Using this, however,
> >>> is preventing feedback messages from being displayed.
> >>>
> >>> My code is as follows:
> >>>
> >>> public class InitiateDeclarationPage extends EzdecBaseWebPage {
> >>>     @SpringBean
> >>>     private IDeclarationService declarationService;
> >>>
> >>>     AjaxFallbackLink reenterPinLink;
> >>>
> >>>     public InitiateDeclarationPage() {
> >>>         final Declaration declaration = new
> >>> Declaration(EzdecSession.getCurrentUser().getAccount(),
> >>>                 EzdecSession.getCurrentUser(), "", County.COOK,
> >>> State.ILLINOIS);
> >>> //        final FeedbackPanel feedback = new FeedbackPanel("feedback");
> >>> //        feedback.setOutputMarkupId(true);
> >>> //        add(feedback);
> >>>         add(new FeedbackPanel("feedback"));
> >>>
> >>>         final Form form = new Form("initiateDeclarationForm", new
> >>> CompoundPropertyModel<Declaration>(declaration));
> >>>
> >>>         form.add(new Button("submitButton") {
> >>>             @Override
> >>>             public void onSubmit() {
> >>>                 Declaration declaration = (Declaration)
> >>> form.getModelObject();
> >>>                 declaration.setStatus(Status.OPEN);
> >>>                 ParcelIdentification pin =
> >>> declarationService.findParcelIdentification(declaration.getPin());
> >>>                 if (pin == null) {
> >>>                     error("No PIN found for PIN " +
> >>> getFormattedPIN(declaration.getPin()));
> >>>                 } else {
> >>>                     if
> >>> (declarationService.initiateDeclaration(declaration)) {
> >>>                         EzdecSession.get().info("Declaration " +
> >>> declaration.getTxNumber() + " created");
> >>>                         setResponsePage(new
> >>> DeclarationPage(declaration, 0, pin));
> >>>                     } else {
> >>>                         error("Creating declaration with PIN: " +
> >>> declaration.getPin());
> >>>                     }
> >>>                 }
> >>>             }
> >>>         });
> >>>
> >>>         final PINTextField pinText = new PINTextField("pin");
> >>>         pinText.setRequired(true);
> >>>         pinText.setOutputMarkupId(true);
> >>>         form.add(pinText);
> >>>
> >>>         form.add(new DropDownChoice("county",
> >>> Arrays.asList(County.values()))
> >>>                  .setRequired(true)
> >>>                  .setEnabled(false));
> >>>
> >>>         final WebMarkupContainer parent = new
> >>> WebMarkupContainer("verifyPanelWmc");
> >>>         parent.setOutputMarkupPlaceholderTag(true);
> >>>         parent.setVisible(false);
> >>>         form.add(parent);
> >>>
> >>>         final AjaxSubmitLink verifyPinLink = new
> >>> AjaxSubmitLink("verifyPinLink") {
> >>>             @Override
> >>>             public void onSubmit(AjaxRequestTarget target, Form form) {
> >>>                 Declaration declaration = (Declaration)
> >>> form.getModelObject();
> >>>                 ParcelIdentification pid =
> >>> declarationService.findParcelIdentification(declaration.getPin());
> >>>                 if (pid == null) {
> >>>                     error("No PIN found for PIN " +
> >>> declaration.getPin());
> >>>                 } else {
> >>>                     InitiateDeclarationVerifyPanel decVerifyPanel =
> >>> new InitiateDeclarationVerifyPanel("verifyPanel", pid);
> >>>                     parent.addOrReplace(decVerifyPanel);
> >>>                     parent.setVisible(true);
> >>>                     this.setEnabled(false);
> >>>                     reenterPinLink.setVisible(true);
> >>>                     target.addComponent(this);
> >>>                     target.addComponent(parent);
> >>>                     target.addComponent(reenterPinLink);
> >>>                 }
> >>>             }
> >>>         };
> >>>
> >>>         form.add(verifyPinLink);
> >>>
> >>>         reenterPinLink = new AjaxFallbackLink("reenterPinLink") {
> >>>             @Override
> >>>             public void onClick(AjaxRequestTarget target) {
> >>>                 this.setOutputMarkupPlaceholderTag(true);
> >>>                 parent.setVisible(false);
> >>>                 verifyPinLink.setEnabled(true);
> >>>                 target.addComponent(parent);
> >>>                 target.addComponent(verifyPinLink);
> >>>                 target.addComponent(pinText);
> >>>                 target.focusComponent(pinText);
> >>>                 this.setVisible(false);
> >>>                 target.addComponent(this);
> >>>             }
> >>>
> >>>         };
> >>>
> >>>         form.add(reenterPinLink);
> >>>
> >>>         add(form);
> >>>     }
> >>> }
> >>>
> >>> Does anyone know how to fix this?
> >>
> >>
> >> --
> >> Erik van Oosten
> >> http://www.day-to-day-stuff.blogspot.com/
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [email protected]
> >> For additional commands, e-mail: [email protected]
> >>
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Feedback-Messages-Not-Getting-Displayed-When-Using-AjaxSubmitLink-tp24117995p24118997.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to