comment faire pour limiter les valeurs saisies dans un champ de texte aux types numeriques seulement. càd si l'utilisateur saisi une lettre, voyelle ou autre caractere, j'affiche un message d'erreur
comment faire pour limiter les valeurs saisies dans un champ de texte aux types numeriques seulement. càd si l'utilisateur saisi une lettre, voyelle ou autre caractere, j'affiche un message d'erreur
Utilise une expression régulière pour valider ton controle !
je n'ai rien compris de ton message, qu"est ce que tu veu dire?!!
tu as un controle du nom de RegulareExpressionValidator
Dedans il te suffit de mettre une expression reguliere dans l'option dite.
Pour trouver ton expression reguliere que tu veux, fait une recherche dans google, car tu peux dire si c'est un nombre negatif, positif, a virgule ou non ....
Si tu cherche des expressions régulières déjà toutes faites, va sur le site : http://regexlib.com/Default.aspx
a vrai dire, je ne cherche pas l'expression reguliere mais plutot comment la declarer dans le code-behind. Parce que j'ai deja le code mais il est fusionné avec le html et tou ça. le voila :
Je veux savoir comment traduire ce code pour l'insere dans mon code-behind
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <asp:RegularExpressionValidator id="RegularExpressionValidator1" ControlToValidate="TextBox1" ValidationExpression="\d{5}" Display="Static" ErrorMessage="Zip code must be 5 numeric digits" EnableClientScript="False" runat="server"/>
Bah tu créer un objet RegularExpressionValidator, et ensutie tu met les propriétés de cet objet à jour.
Tu vois ce que je veux dire ?
tu veux le faire de maniere dynamique ?
Tu crées un Regular reg = new Regular();
et tu utilises ton reg.OptionExpReguliere = "/d(5)";
un truc dans le genre.
En fait, je ne saisie pas trop ou ce trouve ton problème
moi non plus, mais peut etre veut il un truc dynamique, sorti d'une bd ou je ne sais quoi ....
Ou alors on ne comprend pas ce que tu veux
Tiens, je te donne un bout de code que j'avais fait, il est pour un autre type de validateur, mais tu as juste une propriété à changer
J'espère que cela t'aidera !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 monLabel = new Label(); monLabel.Text = "<div align=left>Nom de la photo : "; maTextBox = new TextBox(); maTextBox.ID = "T_PH_name" + nbPhoto.ToString(); monValidateur = new RequiredFieldValidator(); monValidateur.ErrorMessage = " Le nom de la photo est oglibatoire !"; monValidateur.ControlToValidate = maTextBox.ID;
c ce que j'ai fais exactement:
L'erreur qui se produit sur "\d(5)" est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 RegularExpressionValidator test = new RegularExpressionValidator(); test.ValidationExpression="\d(5)"; test.ControlToValidate="quota"; test();
Unrecognized escape sequence
C'est normal, ta séquence doit être : "\d{5}", les parenthèses ne représentent pas la même chose en regular expression
Change avec cette chaîne et tout devrait rouler
grrrrr, malhereusemnt, j'ai la meme erreur.
Aidez moi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2test.ValidationExpression="\d{5}";
Tiens, ça marche chez moi :
Cependant \d{5} oblige à avoir 5 chiffres ...
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 using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class TEST : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { TextBox maText = new TextBox(); maText.ID = "quota"; Button monBtn = new Button(); monBtn.Text = "Je teste la regular !"; RegularExpressionValidator test = new RegularExpressionValidator(); test.ValidationExpression= @"\d{5}"; test.ControlToValidate = maText.ID; test.ErrorMessage = "NON C'est pas un \\d{5} !"; PlaceHolder1.Controls.Add(maText); PlaceHolder1.Controls.Add(monBtn); PlaceHolder1.Controls.Add(test); } }
oui excuser moi, c'etait un exemple, je n'ai pas dit que l'expression devait s'ecrire comme ca, et a mon avis c'est le @ qui manque chez lui
Super, le probleme est resolu.
Il fallait utiliser l'objer Regex et lui attribuer l'expression reguliere qui convient au champ du texte desiré.
Ce qui es entre parenthese est l'expression regulier d'un entier positif
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Regex oRgx = new Regex("^[1-9]+[0-9]*$");
@+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager