Voici le problème, la validation JSF ne cesse de retourner un champ à la dernière valeur connue.Contourner la validation JSF pour un composant UIInput
Nous modifions une page où le bean backing a déjà des valeurs. (frequency = "weekly")
Et nous sommes tenus de montrer la valeur par défaut de "s'il vous plaît choisir .." même si cette valeur ne passera pas la validation (oui, je veux juste laisser l'utilisateur sur la page avec le message d'erreur).
Est-il possible de permettre à l'utilisateur de choisir "Sélectionner .." et de ne pas le réinitialiser à la dernière bonne valeur?
L'utilisateur ne sera pas autorisé à enregistrer évidemment, mais nous voulons laisser leur valeur invalide sélectionnée.
- utilisateur ajoute un nouvel objet, en sélectionnant la valeur appropriée dans le menu déroulant
- utilisateur enregistre avec succès.
- utilisateur clique sur « modifier » et affiche un objet avec valeur connue (« hebdomadaire »)
- utilisateur change «sélectionnez » « hebdomadaire » à
- utilisateur clique enregistrer
- un message de validation est affiché (bien) mais la fréquence va retour à la dernière valeur "weekly" (mauvais, je dois rester sur "Please select .." et laisser l'utilisateur corriger le menu déroulant manuellement.)
0 = immédiat = "true" ne fonctionne pas sur inputComponents, seulement CommandComponents
Merci Balus! J'ai joué avec un peu, mais une fois que l'utilisateur clique sur "soumettre", la valeur sera toujours inversée, n'est-ce pas? Ou est-ce que cela s'applique aussi quand la page entière est re-rendue après soumettre (je pense que ce n'est pas le cas) – Eddie
Utilisez aussi ajax pour cela. Mettez ' ' dans 'h: commandButton', si nécessaire avec un' render' sur les identifiants de message. –
BalusC
C'est un truc pratique pour les commentaires en direct, et montre leur erreur tout de suite. Mais même avec ajax dans mon bouton de commande avec render = "messageList" (j'utilise une seule boîte de messgae au-dessus des boutons), l'action de sauvegarde retourne encore le messageList à la valeur de pré-validation. ..... Peut-être que je vais juste faire le message en direct lire "cette valeur est nécessaire et retournera à la valeur précédente si non défini" – Eddie