Hi community,

I've got a little problem here with a real simple form. Everything is
working fine except the validation of my Validator which is never called.
I've set a breakpoint to the "onvalidation" method... nothing. I think I am
missunderstanding the architecture of form/validation.

Here's the sample code:

**************************
*** Page
**************************

public class MyTestPage extends HomePage {

        /**
         * 
         */
        private static final long serialVersionUID = 6374488865423191635L;

        private IModel<Article> article = Model.of(new Article());

        public MyTestPage() {
                this(null);
        }

        public MyTestPage(PageParameters params) {
                super(params);

                add(new FeedbackPanel("testPage.feedback", new
ComponentFeedbackMessageFilter(this)));
                
                add(new MyTestForm("testPage.myForm", article));
        }

        class MyTestForm extends Form<Article> {

                /**
                 * 
                 */
                private static final long serialVersionUID = 
-1961809427855436256L;

                public MyTestForm(String id, IModel<Article> model) {
                        super(id, new CompoundPropertyModel<Article>(model));

                        TextField<String> myText = new 
TextField<String>("testPage.myText", new
PropertyModel<String>(getModel(), "EAN"));
                        add(myText);
                        DropDownChoice<ArticleStatus> myDropDown = new
DropDownChoice<ArticleStatus>("testPage.myDropDown", new
PropertyModel<ArticleStatus>(getModel(), "status"),
                                        Arrays.asList(ArticleStatus.values()));
                        add(myDropDown);

                        AjaxButton btSave = new AjaxButton("testPage.save", 
MyTestForm.this) {

                                @Override
                                protected void onSubmit(AjaxRequestTarget 
target, Form<?> form) {

                                        Article article = ((Article) 
getParent().getDefaultModelObject());
                                        // save article -> working

                                }
                                
                                @Override
                                protected void onError(AjaxRequestTarget 
target, Form<?> form) {
                                        // add feedback panel here -> but this 
is never called
                                }
                        };
                        add(btSave);

                        Button btCancel = new Button("testPage.cancel") {

                                @Override
                                public void onSubmit() {
                                        setResponsePage(HomePage.class);
                                }

                        };
                        btCancel.setDefaultFormProcessing(false);
                        add(btCancel);
                        
                        add(new ArticleValidator(myDropDown, myText));
                }
        }

}

**************************
*** Validator
**************************
public class ArticleValidator extends AbstractValidator<Article> implements
IValidator<Article> {

     //...
}

Thanks for help.
Regards,
Erik



--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Form-Validation-not-called-tp4654443.html
Sent from the Users forum mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to