1

我有一个自定义验证装饰器。在“public void afterLabel(Field field)”方法中,我无法获取组件的 id。我尝试了 field.getClientId() 和 field.getControlName(),但它们始终为空。在组件中我这样做了:

<input t:type="Checkbox" t:id="requiredOwner" t:value="currentVehicle.owner" t:clientId="requiredOwner" />

我的问题是,如何使用 Tapestry5 验证复选框;或者如何访问装饰器内字段的 id。

谢谢。

4

1 回答 1

0

这可能会有所帮助。看起来您可能必须使用心跳延迟使用 id 的代码。

public void afterLabel(Field field) {
    Runnable command = new Runnable() {
      public void run() {
        String fieldId = field.getClientId();
        ...
      }
    };
    heartbeat.defer(command);
}
于 2010-11-19T17:40:49.530 回答