如何在java wicket中的pageablelistview中验证文本字段

时间:2016-10-04 09:58:06

标签: java wicket

我添加了一个包含两个组件的可分页列表视图,一个是文本字段,另一个是下拉列表。检查验证的常规方法是添加一个反馈面板。但是当在网格中使用相同的方法时,它会给出一个错误,指出带有wicket:id =“xy”的反馈组件已经被解析。 有没有办法验证这些组件? JAVA CODE HTML CODE

1 个答案:

答案 0 :(得分:0)

代码中的某个位置(例如,您的被覆盖的Form#onSubmit()Form#onError(),您的一个Ajax行为等),您可以使用wicket ID添加组件" FeedbackSubQuestions _"再次,即使之前已添加此组件。如下所示:

public class MyPage extends WebPage {

    public MyPage() {
        this.add(new FeedbackPanel("FeedbackSubQuestions_"));
        this.add(new Form<Void>("myForm"){
            @Override
            protected void onError() {
                // This call the produce the error as the feedback component is already in the component hierarchy
                MyPage.this.add(new FeedbackPanel("FeedbackSubQuestions_"));
            }
        });
        ...
        Adding all the form components with validation and their ajax behaviors
        ...        
    }
}

在wicket中,一旦构建了组件层次结构,后续与页面的交互就不再需要重新初始化任何一个。也就是说,一旦您添加反馈面板以显示您的反馈,您就不需要再次添加此面板。如果要显示错误(例如表单验证失败,或者手动调用Component#error(String)),反馈将在再次呈现反馈面板时自动选择这些错误(例如,当您将其添加到ajax响应或整个页面将作为表单提交过程的一部分重新呈现。)