2010-11-19 21 views
1

J'ai un décorateur de validation personnalisé. Dans la méthode "public void afterLabel (Field field)" je ne peux pas obtenir l'identifiant du composant. J'ai essayé field.getClientId() et field.getControlName(), mais ils sont toujours null. Dans le composant j'ai fait ceci:Comment puis-je lire l'ID d'un composant dans un décorateur de tapisserie? Ou validez une case à cocher

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

Ma question est, comment puis-je valider une case à cocher avec tapestry5; ou comment puis-je accéder à l'identifiant du champ à l'intérieur du décorateur.

Merci.

Répondre

0

This might help. Il semble que vous deviez reporter le code qui utilise l'ID à l'aide de la pulsation.

public void afterLabel(Field field) { 
    Runnable command = new Runnable() { 
     public void run() { 
     String fieldId = field.getClientId(); 
     ... 
     } 
    }; 
    heartbeat.defer(command); 
}