Comment ignorer la validation lorsqu'un bouton est cliqué?
J'ai un formulaire avec un validateur sur un champ. J'ai deux h:commandButton
s: Ok et Annuler. Quand je imput mal de données et cliquez sur Annuler, je reçois un message de validation. Que dois-je faire que le validateur ne s'exécute pas lorsque je clique sur annuler?
Vous devez vous connecter pour publier un commentaire.
Dans le cas où vous n'êtes pas à l'aide d'ajax, ou encore sur JSF 1.x, et vous avez vraiment besoin d'invoquer une action commerciale dans
cancel()
méthode (c'est à dire juste recharger la page est insuffisant), alors votre meilleur pari est d'ajouterimmediate="true"
pour le bouton. De cette façon, tous les champs de saisie qui n'ont pasimmediate="true"
seront ignorés dans le traitement.Sur JSF 2.x, beaucoup mieux est d'envoyer le formulaire par
<f:ajax>
, qui, par défaut, seuls les processus@this
au lieu de@form
.Si vous voulez naviguer vers une autre page ici, d'ajouter
?faces-redirect=true
à l'issue de lacancel()
méthode.Ou, si vous avez réellement n'avez pas besoin d'invoquer une quelconque action commerciale à tous, alors il suffit d'utiliser
<h:button>
où vous spécifier directement la (implicite) de navigation en cas de résultats.Ce sera essentiellement de rechargement de la page par une requête GET. Le
<h:button>
n'existe pas dans la JSF 1.x, mais vous pouvez aussi utiliser du HTML+JS pour que.Voir aussi:
<h:selectOneMenu
aveconchange="submit()"
? Comment peut-validation de l'être ignoré si une nouvelle sélection dans la liste déroulante déclenche un post sur le serveur? (Je dois en tenir à jsf 1.1, soupir...)