2009-04-29 12 views
0

I utilisé ICEfaces 1.7.1, et j'utiliser de la glace: inputText avec valueChangeListener comme ça:Question sur Icefaces et valueChangeListener

<ice:inputText value="#{myBean.name}" valueChangeListener="#{myBean.nameChangedListener}"/> 

En MyBean.java j'ai:

public void nameChangedListener(ValueChangeEvent event){ 
    // test the new value : if it's ok continue but if it is not ok i need it to keep the old value. 
    // I know that the valueChangeListener invoked before the old value is replaced by the newValue, is it ok?, and if ok : what to do to keep the oldValue if the newValue is worng 
} 

Merci encore pour any Help .....

Répondre

1

Les écouteurs de changement de valeur ne peuvent pas être utilisés pour modifier les valeurs modifiées (FYI: ils sont invoqués dans la phase de validation). Jetez un oeil à converters et validators - ils empêchent les données indésirables d'entrer dans votre modèle. Une zone qui déclenche plusieurs personnes est qu'un formulaire soumis contenant des données non valides empêchera le déclenchement d'actions. C'est par conception - cela empêche la logique métier de fonctionner sur de mauvaises données. Si vous devez déclencher une action même si la requête contient des données non valides, vous ne pouvez pas utiliser le modèle de validation JSF et devrez intégrer la validation dans votre logique d'action.