AjaxButtonでエラーが発生したときに、FeedbackPanelを更新する方法
FeedbackPanelをaddしておくと、validateでエラーになったメッセージを勝手に表示してくれて便利。
で、ふつーのButtonだったら問題なしだけど、AjaxButtonでsubmitしてる場合はちょっと注意。
っていうのは、AjaxButtonのonError()で、FeedbackPanelを更新するように、AjaxRequestTargetにaddする必要がありまっせ。
当然、FeedbackPanelはsetOutputMarkupId( true )としておく必要あり。
FeedbackPanel feedbackPanel = new FeedbackPanel("feedback"); this.feedbackPanel.setOutputMarkupId( true ); add( feedbackPanel ); Form form = new Form( "requestForm"); add( form ); Button submitBtn = new IndicatingAjaxButton("submitBtn", form){ @Override protected void onError(AjaxRequestTarget target, Form form) { target.addComponent( feedbackPanel ); } @Override protected void onSubmit(AjaxRequestTarget target, Form form) { // submit処理 } });