comment valider la chaîne de champ d'entrée pour le modèle sur JSF forme
j'ai une condition où un champ de saisie qui prend les chaînes peuvent avoir seulement l'un de ces formats, quelle est la meilleure façon de mettre en œuvre ce à l'aide de javascript ou jsf validator:
N/Un-N-N ou N/Un-N-N-N
Il peut être n'importe quel alphabet dans le modèle ci-dessus à la place de A. il peut être tout numérique dans le modèle ci-dessus à la place de N autre que 0.
OriginalL'auteur Walker | 2013-10-03
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, il n'y a pas de "meilleur". Il y a juste le "droit" chemin qui dépend du béton, des exigences fonctionnelles.
L'approche normale de valider dans les ACI est d'utiliser l'un des standard validateurs disponible via
<f:validateXxx>
tags, ou à créer une classe qui implémente l'interface Validator si la fonctionnalité n'est pas disponible dans les balises standard. Une alternative consisterait à valider par JavaScript comme vous le suggérez vous-même, mais cela va à l'encontre de la la robustesse de la validation côté serveur parce que le code JavaScript est sous le contrôle total par l'utilisateur et donc modifiable/spoofable/disablable par l'utilisateur final.Dans votre cas particulier, vous souhaitez valider la saisie si elle correspond à un schéma régulier. Dans ce cas, le
<f:validateRegex>
est donc le bon tag pour le travail.Que le réel motif régulier, n'importe quel nombre entre 1 et 9 est en regex représenté par
[1-9]
et de tout caractère alphabétique entre A et Z est en regex représenté par[A-Z]
(sensible à la casse! si vous souhaitez autoriser les minuscules ainsi, l'utilisation[a-zA-Z]
). Tout "zéro ou une occurrence" comme le dernier numéro est en regex représenté par(...)?
laquelle le...
doit être substitué avec le motif réel. Le reste, les personnages/
et-
peut être représenté comme-aussi longtemps que ceux qui ne sont pas de caractères spéciaux dans les regex comme.
,(
, etc, sinon ils ont besoin d'être échappé avec\
.Donc, dans l'ensemble, cela devrait le faire:
Voir aussi:
java.util.regex.Motif
javadocOriginalL'auteur BalusC
Utiliser l'expression suivante si vous permettant de saisir des caractères majuscules ou minuscules.
OriginalL'auteur DnwAlgorithma
à partir de ce modèle, il est accepté que s'il est dans la gamme de 6 à 20 avec au moins un chiffre, une lettre majuscule, une lettre minuscule et un symbole spécial (“@#$%”)
OriginalL'auteur Gwiza Erick