2012-01-12 8 views
0

私は自分のページにカスタム検証を追加しました。この検証はUIの「保存」ボタン(AjaxSubmitLink)をクリックするとビジネスロジックレイヤーから呼び出されます。Apache wicketの検証

私のページには、Apache WicketのDateTimeFieldがありますが、検証が正しく機能しません:FeedbackPanelにエラーメッセージが表示されず、ページに追加され、カスタム検証が正しく表示されます。

だから、例えば私が「321」で時間フィールドを記入し、私は、コンソールにエラーがあります:

はorg.apache.wicket.protocol.http.WebSessionをWARN - コンポーネント標的化さフィードバックメッセージが残されました未レンダリング。これは、 があなたのページにFeedbackPanelを見つけられていない可能性があります。メッセージ: [FeedbackMessageメッセージ= "キーのための翻訳は、[hours.RangeValidator] は、言語[EN]が見つかりません!"、記者=時間、レベル= ERROR]

はたぶん誰かが同様の問題を抱えていたし、ソリューションを持っていますこのため?

ありがとうございます!

+0

が見えます。フィードバックパネルが欠けて、リソースファイルにキーがない。いくつかのコードを表示できますか? – bert

答えて

6

あなたはAjax-Requestを実行するので、フィードバックパネルをAjaxRequestTargetに追加する必要があります(したがって、リクエストごとに更新されます)。

あなたはしかしonErrorメソッドをオーバーライドする必要があります:あなたは2つの問題点を持っているよう

add(new AjaxSubmitLink() { 
    @Override 
     protected void onError(final AjaxRequestTarget target, final Form form) { 
     target.addComponent(yourFeedbackPanel); 
    } 
} 
+0

ありがとう、それは動作します! – psisoyev

関連する問題