Masaya seko
masay****@nifty*****
2011年 11月 21日 (月) 18:46:36 JST
お世話になっております。世古です。 「WicketによるWebアプリケーション開発(第1版第1刷)」の内容について質問がありま す。 P207の「TIPS」に以下の記述が存在します。 ----ここから Wicketは、必須項目チェックを除き、コンポーネントに登録されたバリデータを常に実 行します。 もしあるバリデータで検証が失敗したらほかのバリデータを実行したくない場合には、 CompoundValidatorを使用します。 ----ここまで 以下のようなコードを実行してみたのですが、バリデータによるチェックに失敗したら 、後続のバリデータは実行されない挙動になりました。 (FormComponent#validateValidators()にブレークポイントを仕掛けて挙動を確認した ら、後続のバリデータは実行されない) ----ここから public class HomePage extends WebPage { private static final long serialVersionUID = 1L; public HomePage(final PageParameters parameters) { IModel<String> model = new Model<String>(); Form<Void> form = new Form<Void>("form"); TextField<String> text = new TextField<String>("text",model); text.add(StringValidator.maximumLength(3)); text.add(new PatternValidator("\\d*")); form.add(text); FeedbackPanel feedbackPanel = new FeedbackPanel("feedback"); form.add(feedbackPanel); add(form); } } ----ここまで そこで質問です。 1.Wicketの仕様が途中で変わったのでしょうか。(私が使用したバージョンは1.4.19) それとも何か私が勘違いしているのでしょうか。 2.コンポーネントに登録されたバリデータについて、後続のバリデータも実行したい場 合はどのようにするのが良いでしょうか。 「複数のチェックを行ないたい場合は、複数のチェックを行う単一のバリデータを作 成する」となるのでしょうか。 以上