Pourquoi & lt; h: inputText requis = "true" & gt; autoriser les espaces vides?
Lorsque j'ai mis required="true"
dans un <h:inputText>
elle permet tout de même des espaces vides. J'ai essayé de modifier le jsf-api.jar
mais je ne pouvais pas comprendre comment générer de nouvelles un POT, j'ai donc essayé de modifier le isEmpty()
méthode de UIInput
de classe et de les compiler, ouvrez le jsf-api.jar
et de le remplacer par le nouveau, mais il n'a pas de travail.
Ce dont j'ai besoin est de faire trim()
lorsque l'utilisateur écrit dans un <h:inputText>
ne pas autoriser les espaces vides. Comment puis-je y parvenir?
Si vous voulez télécharger le jsf-api.jar
de ressources, vous pouvez le faire, il suffit de lire comment: http://javaserverfaces.java.net/checkout.html.
source d'informationauteur Ing.LkRuiZ
Vous devez vous connecter pour publier un commentaire.
C'est normal et naturel de comportement et de ne pas JSF spécifiques. Un espace vide peut être parfaitement d'entrée valide. Le
required="true"
seulement des coups de pied dans le vide, les entrées, pas rempli les entrées. Dans JSF cependant, vous pouvez juste créer unConverter
pourString
classe pour découper automatiquement les espaces.Mettre cette classe quelque part dans votre projet. Il sera enregistré automatiquement grâce à
@FacesConverter
et invoquée automatiquement pour chaqueString
entrée grâce àforClass=String.class
.Pas besoin de pirater le JSF API/impl. Cela n'a aucun sens.
Si vous souhaitez désactiver le comportement que BalusC notes comme l'une des réponses que la norme ACI problème, vous pouvez modifier la web.xml et inclure les éléments suivants.
Cela va déclencher la JSF cadre de considérer les valeurs
null
ce qui peut être préférable, ou une alternative à la réponse de BalusC.