Wicketのバリデートで他の入力項目の値を取得する方法

@iwasaki 24views 更新:2016年9月20日

Wicketのバリデートで他の入力項目の値によってバリデートのルールを変更したい、などあるかと思います。

その際にはこのように使用します。

private final TextField<String> field1 = new TextField<String>("field1");
private final TextField<String> field2 = new TextField<String>("field1");

      add(field1.setRequired(true).setOutputMarkupId(true));

      add(field2
        .setRequired(true)
        .add(new MyValidator(field1))
        .setOutputMarkupId(true));

MyValidator.java

  private final TextField<String> field;

  public MyValidator(TextField<String> field) {
    this.field = field;
  }

  @Override
  protected void onValidate(IValidatable<String> validatable) {
    String value = validatable.getValue();
    if("hoge".equals(field.getInput())){
    }
  }

getInputメソッドで実際に入力された値を取得できるようです。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません