2010-11-19 2 views
1

私はカスタム検証デコレータを持っています。メソッド "public void afterLabel(Field field)"では、コンポーネントのIDを取得できません。私はfield.getClientId()とfield.getControlName()を試しましたが、それらは常にnullです。コンポーネントでは、私はこれをしました:タペストリーデコレータのコンポーネントのIDを読み取るにはどうすればよいですか?またはチェックボックスを有効にします

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

私の質問は、どのようにしてtapestry5でチェックボックスを検証できますか。またはデコレータ内のフィールドのIDにどのようにアクセスできますか?

ありがとうございました。

答えて

0

This might help.ハートビートを使用してIDを使用するコードを延期する必要があるようです。

public void afterLabel(Field field) { 
    Runnable command = new Runnable() { 
     public void run() { 
     String fieldId = field.getClientId(); 
     ... 
     } 
    }; 
    heartbeat.defer(command); 
} 
関連する問題