this is the code to construct modal window
        final ModalWindowE4N modalConnexion = new
ModalWindowE4N("modalConnexion");
        modalConnexion.setTitle("Connexion à l'espace membre");
        modalConnexion.setContent(new
ConnexionContentPanel(modalConnexion.getContentId()));
        add(modalConnexion);

Form is added in ConnexionContentPanel :
public ConnexionContentPanel(String id) {
        super(id);

        //Création du formulaire dont les champs seront liés aux champs d'un
membre grace au model
        Form<Membre> loginForm = new Form<Membre>("loginForm",
                new CompoundPropertyModel<Membre>(new
LoadableDetachableModel<Membre>() {

                    @Override
                    protected Membre load() {
                        return new Membre();
                    }
        }));

        //Création et ajout des champs id et pwd au formulaire
        TextField<Membre> idField = new TextField<Membre>("membreId");
        idField.setRequired(true);
        loginForm.add(idField);

        PasswordTextField pwdField = new PasswordTextField("password");
        pwdField.setRequired(true);
        loginForm.add(pwdField);

        //Ajout d'un du feedback panel qui contiendra les erreurs relevées
par le formulaire
        final FeedbackPanel feedBackPanel = new FeedbackPanel("errorMsg");
        feedBackPanel.setOutputMarkupId(true);
        add(feedBackPanel);

        //création du bouton ajax pour soumettre le formulaire
        AjaxButton submitbutton = new AjaxButton("ajaxSubmitLogin") {

            @Override
            protected void onSubmit(AjaxRequestTarget target, Form<?> form)
{
                Membre modelObject = (Membre) form.getModelObject();
                Membre membre;

                membre = serviceIdentif.identifier(modelObject.getId(),
modelObject.getPassword());
                if(membre == null)
                    error("Identifiant ou mot de passe incorrect");
                else
                    setResponsePage(TableauBordPage.class);
            }

            @Override
            protected void onError(AjaxRequestTarget target, Form<?> form) {
                target.addComponent(feedBackPanel);
            }
        };
        loginForm.add(submitbutton);

        //ajout du formulaire au panel
        add(loginForm);
    }

you can see that form id is correct.
It is the same problem with FeedBackPanel errorMsg : I get a null pointer
when I try to get it with modalWindow.get("errorMsg");






2011/5/26 Andrea Del Bene <[email protected]>

> Hi Mathilde,
>
> maybe the form id you use in test is not correct. How do you add form to
> modalWindow? Can you attach code?
>
>
>
>
>  Hi all,
>>
>> I have a modal window with a login form inside that works fine when I test
>> it manually.
>> I try to test it with wicket tester since yesterday. I saw in some mails
>> of
>> this list that "there is nothing special in testing modal windows".
>> I tried this :
>>
>>         tester.startPage(AccueilPage.class);
>>         tester.clickLink("connexion");
>>
>>         ModalWindowE4N modalWindow = (ModalWindowE4N)
>> tester.getComponentFromLastRenderedPage("modalConnexion");
>>         tester.isVisible(modalWindow.getPageRelativePath() + ":" +
>> modalWindow.getContentId());
>>
>>         Form<?>  loginForm = (Form<?>) modalWindow.get("loginForm");
>>         Component feedbackPanel = modalWindow.get("errorMsg");
>>
>>         FormTester formTester =
>> tester.newFormTester(loginForm.getPageRelativePath() + ":" +
>> loginForm.getId());
>>
>> but I have a java.lang.NullPointerException on loginForm (and
>> feedbackPanel
>> is also null).
>> I begin with Wiket and I really don't understand why it doesn't work.
>> What am I doing wrong?
>>
>> Thanks
>> Mathilde
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
 Mathilde Pellerin  Ingénieur en Génie Logiciel  Tél mobile :
06.60.78.79.03   E-mail
: [email protected]   Mon CV en ligne :
<http://www.mathilde-pellerin.fr/> http://www.mathilde-pellerin.fr/    Mes
liens :  <http://www.viadeo.com/fr/profile/mathilde.pellerin>
<http://fr.linkedin.com/in/mathildepellerin>

Reply via email to