bonjour;
je cherche a faire un contrôle sur mes champs input ( la taille min et max ou l existence d un caractère spécifique "exp @ et .com pour e-mail")
et comment le signaler au client au niveau de la page sans remonter au niveau des beans
merci








bonjour;
je cherche a faire un contrôle sur mes champs input ( la taille min et max ou l existence d un caractère spécifique "exp @ et .com pour e-mail")
et comment le signaler au client au niveau de la page sans remonter au niveau des beans
merci
Ca, c'est de la validation "client side".
Elle ne peut se faire qu'en Javascript du coup.
L'idéal étant de faire appeler des fonctions Javascript qui testent la validité d'un input (est-il rempli ? est-il de la bonne longueur ? correspond-il à un pattern donné ?) lorsqu'un change perd le focus (onblur).
Par exemple :
et en Javascript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<h:inputText ... onblur="checkRequired(this);"/>
(il faut bien entendu avoir une fonction par type de validation)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 function checkRequired(field) { var isValid = true; var i = 0; if (field == null || field.disabled) { return true; } if (field.type == 'text' || field.type == 'textarea' || field.type == 'file' || field.type == 'select-one' || field.type == 'radio' || field.type == 'password') { var value = ''; // get field's value if (field.type == "select-one") { var si = field.selectedIndex; if (si >= 0) { value = field.options[si].value; } } else { value = field.value; } if (trim(value).length == 0) { isValid = false; } } if (!isValid) { alert("Champ non valide"); } return isValid; }
Sur mon projet, j'ai créé un composant qui permet d'ajouter le bon validateur sur un champ. Cela permet aux développeur de ne saisir aucun code Javascript (en gros, lors de la phase de rerender de mon composant, celui-ci va ajouter le bon appel Javascript dans l'attribut onblur du champ auquel il est lié)...
En espérant t'avoir aidé...
Nous sommes tous semblables, alors acceptons nos différences !
--------------------------------------------------------------
Liens : Blog | Page DVP | Twitter
Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
Critiques : Apache Maven
Partager