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メソッドで実際に入力された値を取得できるようです。