Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Atteint de JavaScriptite Aiguë [Cyril Durand]

Expert ASP.net Ajax et WCF, Cyril Durand parle dans son blog de point techniques sur ASP.net, ASP.net Ajax, JavaScript, WCF et .net en général. Cyril est également consultant indépendant, n'hésitez pas à le contacter pour de l'assistance sur vos projets

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    N'hésitez pas à me contacter pour vos projets .net : architecture, accompagnement, formation, ...

    View Cyril Durand's profile on LinkedIn
    hit counters


    Expertise Commerce server et BizTalk

CompareValidator et RangeValidator - validité d'un entier, d'un nombre à virgule ...

Dans la lignée de mes posts sur la validation d'une checkboxlist et la validation d'une checkbox, voici un post qui vous explique comment utiliser les contrôles CompareValidator et RangeValidator afin de vous assurer que l'utilisateur saisisse bien un nombre, qu'il soit compris entre tel et tel valeur etc...

Validation d'un nombre entier :

<asp:label runat="server" AssociatedControlID="tbInteger" Text="Nombre entier" /> <asp:TextBox runat="server" ID="tbInteger" /> <asp:CompareValidator runat="server" ControlToValidate="tbInteger" Type="Integer" Operator="DataTypeCheck" Text="*" />

Vérifie que le nombre saisit est compris entre int.MinValue et int.MaxValue.

Validation d'un nombre à virgule :

<asp:Label runat="server" AssociatedControlID="tbDouble" Text="Nombre à virgule" /> <asp:TextBox ID="tbDouble" runat="server" /> <asp:CompareValidator runat="server" ControlToValidate="tbDouble" Operator="DataTypeCheck" Text="*" Type="Double" />

Vérifie que le nombre est compris entre Double.MinValue et Double.MaxValue. La virgule est dépendante de la culture du thread en cours. Cette culture se spécifie dans le web.config

<globalization culture="fr-FR" uiCulture="fr-FR">

Vous pouvez aussi mettre auto comme value, dans ce cas là, la culture sera suivant la configuration du navigateur.

Validation d'une date :

<asp:Label runat="server" AssociatedControlID="tbDate" Text="Date" /> <asp:TextBox ID="tbDate" runat="server" /> <asp:CompareValidator runat="server" ControlToValidate="tbDate" Operator="DataTypeCheck" Text="*" Type="date" />

Là encore le format de la date sera suivant la culture en cours. N'oubliez pas d'utiliser le contrôle Calendar des Ajax toolkits, ce sera beaucoup plus agréable pour l'utilisateur.

Validation d'une valeur par rapport à une autre valeur fixe :

Comme son nom l'indique, le CompareValidator peut aussi vérifier qu'une valeur est inférieure, supérieure à une autre ...

<asp:Label runat="server" AssociatedControlID="tbCompare" Text="Comparaison" /> <asp:TextBox ID="tbCompare" runat="server" /> <asp:CompareValidator runat="server" ControlToValidate="tbCompare" ValueToCompare="5" Operator="LessThan" Text="*" Type="Integer" />

Les opérateurs disponibles sont LessThan, LessThanEqual, NotEqual, Equal, GreaterThan, GreaterThanEqual. Vous pouvez faire la même chose avec le type Date, Double, String. Dans le cas d'une comparaison avec un String ce sera la méthode String.Compare qui sera utilisé, pour la plupart des cultures, c'est l'ordre alphabétique qui est pris en compte.

Validation d'une valeur via un interval de valeur fixe :

On utilise cette fois-ci le RangeValidator :

<asp:Label runat="server" AssociatedControlID="tbCompare2" Text="Comparaison 2" /> <asp:TextBox ID="tbCompare2" runat="server" /> <asp:RangeValidator runat="server" ControlToValidate="tbCompare2" MinimumValue="01/01/2007" MaximumValue="31/12/2007" Type="Date" Text="*" />

Là encore on peut tester les dates, les entiers, les nombres à virgules et les strings, les comparaisons se feront suivant la culture actuelle.

Validation d'une valeur par rapport à une autre valeur définit par l'utilisateur

Lorsque vous utilisez un CompareValidator avec la propriété ValueToCompare vous pouvez la remplacer par la propriété ControlToCompare afin de laisser le choix à l'utilisateur sur quel valeur il doit comparer. C'est ce qu'on utilise lorsqu'on veut vérifier que 2 mots de passe sont identiques.

<asp:Label runat="server" AssociatedControlID="tbCompare" Text="Comparaison" /> <asp:TextBox ID="tbCompare" runat="server" /> <asp:TextBox ID="tbCompare2" runat="server" /> <asp:CompareValidator runat="server" ControlToValidate="tbCompare" ControlToCompare="tbCompare2" Operator="LessThan" Text="*" Type="Integer" />


Ces validateurs ne testent pas la présence de la valeur, seulement que la valeur est correct. Pour rendre obligatoire une valeur il faut impérativement utiliser un RequiredFieldValidator. Par défaut ASP.net ne vérifie pas les valeurs, il faut impérativement vérifier que la page est valide avant de faire toute action :

Page.Validate("validationGroupName"); if (Page.IsValid) { // les valeurs sont OK }

Ensuite vous pouvez sans risque faire un XXX.Parse pour récuperer la bonne valeur.

Enfin, pour rappel, les validators ne sont pas compatibles avec les UpdatePanels, mais j'ai déjà expliqué comment rendre les validators compatibles avec les UpdatePanels.

Posted: mardi 16 octobre 2007 03:02 par cyril
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01