IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[VB.NET] Nombre décimal


Sujet :

ASP.NET

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut [VB.NET] Nombre décimal
    bonjour,

    J'ai une application intranet om l'utilisateur doit saisir que des chiffres.

    Les règles de gestion sont les suivantes :
    -> Tout chiffre supérieur ou égale @ zéro
    -> Tout chiffre inférieure ou égale @ dix

    Les chiffres décimaux sont bien sur acceptés.

    Pour résoudre ceci, j'ai mis en place 2 comparevalidator :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    						<asp:CompareValidator Runat="server" EnableViewState="False" ID="cvPerfCollectif1" ControlToValidate="txtPerfCollectif" CssClass="Erreur" Display="Dynamic" Type="Currency" Operator="LessThanEqual" ValueToCompare="10" Enabled="False" ErrorMessage="La performance doit être comprise entre 0 et 10">*</asp:CompareValidator>
    						<asp:CompareValidator Runat="server" EnableViewState="False" ID="cvPerfCollectif2" ControlToValidate="txtPerfCollectif" CssClass="Erreur" Display="Dynamic" Type="Currency" Operator="GreaterThanEqual" ValueToCompare="0" Enabled="False" ErrorMessage="La performance doit être comprise entre 0 et 10">*</asp:CompareValidator>
    Mes tests sont :
    -> Je saisi 0 ! ca marche
    -> Je saisi 10 ! ca marche
    -> Je saisi 5,5 ! ca marche

    Attention, suite des tests
    -> Je saisi 0.0 ! ca marche pas
    -> Je saisi 10.0 ! ca marche pas
    -> Je saisi 5.5 ou 4.5 ou 1.2 ! ca marche pas

    Vous l'aurez compris, la saisie du point n'est pas compris par le comparavalidor.

    Mon client m'impose que la saisie de la virgule ou la saisie du point doit être interprétée comme un chiffre en bonne & dur forme.

    Avez vous une idée pour contourner le problème svp :
    ~ Sadneth ~

    Webmaster sur :
    http://www.lesacteursdelombre.com

    ~ Les cicatrices ont pour mérite de nous rappeler que le passé n'est pas un rêve ~

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Va falloir passer par un validator perso je pense.

    C'est un pb de Culture à mon avis: t'es en Culture Fr-fr surement dc c'est une virgule pour les chiffres décimaux et non pas un point

  3. #3
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    C'est pour ca que dans mon cas je prend la chaine si c'est un point, je remplace par une virgule pour effectuer mon traitement.

    taChaine.replace(".",",");

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par BiMouXeTTe
    C'est pour ca que dans mon cas je prend la chaine si c'est un point, je remplace par une virgule pour effectuer mon traitement.

    taChaine.replace(".",",");
    Oui mais ça c'est fait ds ton code behind non? Dc faut faire une validation coté serveur et non via Validators

  5. #5
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par lutecefalco
    Va falloir passer par un validator perso je pense.

    C'est un pb de Culture à mon avis: t'es en Culture Fr-fr surement dc c'est une virgule pour les chiffres décimaux et non pas un point
    Oui mais peu importe la culture, l'utilisateur doit pouvoir saisir à sa guise une virgule ou un point...


    Sinon :

    Si vous remarquez sur mon code précédent, le compare validator est désactivé, donc non executé !

    En fait, dans une procédure de post, je fais :

    ' Remplacement du point par la virgule
    txtPerf.Text = replace(txtPerf.Text, ".", ",")

    ' Activation des comparevalidator
    cvPerfCollectif1.Enabled = True
    cvPerfCollectif2.Enabled = True

    ' Execution de la vérif !
    cvPerfCollectif1.Validate()
    cvPerfCollectif2.Validate()

    Et boom, ca marche pas :-/
    ~ Sadneth ~

    Webmaster sur :
    http://www.lesacteursdelombre.com

    ~ Les cicatrices ont pour mérite de nous rappeler que le passé n'est pas un rêve ~

  6. #6
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Tu as le choix soit tu valide côté
    - client : en javascript
    - serveur : en C# ou VB

    En tout cas la méthode est la même.

  7. #7
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par Sadneth
    Citation Envoyé par lutecefalco
    Va falloir passer par un validator perso je pense.

    C'est un pb de Culture à mon avis: t'es en Culture Fr-fr surement dc c'est une virgule pour les chiffres décimaux et non pas un point
    Oui mais peu importe la culture, l'utilisateur doit pouvoir saisir à sa guise une virgule ou un point...


    Sinon :

    Si vous remarquez sur mon code précédent, le compare validator est désactivé, donc non executé !

    En fait, dans une procédure de post, je fais :

    ' Remplacement du point par la virgule
    txtPerf.Text = replace(txtPerf.Text, ".", ",")

    ' Activation des comparevalidator
    cvPerfCollectif1.Enabled = True
    cvPerfCollectif2.Enabled = True

    ' Execution de la vérif !
    cvPerfCollectif1.Validate()
    cvPerfCollectif2.Validate()

    Et boom, ca marche pas :-/
    C'est normal que ça marche pas. T'es validator c'est du javascript et ils sont désactivés qd tu cliques sur le bouton. Le fait de les activer ds le code behind, ça les activera pour le prochain clic

  8. #8
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 152
    Points : 79
    Points
    79
    Par défaut
    Je viens de rajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EnableClientScript="False"
    et ca marche super bien

    Merci encore @ vous

    J'aurai encore des questions pour d'autres points :p
    ~ Sadneth ~

    Webmaster sur :
    http://www.lesacteursdelombre.com

    ~ Les cicatrices ont pour mérite de nous rappeler que le passé n'est pas un rêve ~

  9. #9
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par Sadneth
    Je viens de rajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EnableClientScript="False"
    et ca marche super bien

    Merci encore @ vous

    J'aurai encore des questions pour d'autres points :p
    Faut que je regarde ce que c'est

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enregistrement d'un nombre décimal en vb.net
    Par barchoui dans le forum VB.NET
    Réponses: 3
    Dernier message: 09/12/2010, 23h41
  2. Réponses: 4
    Dernier message: 21/12/2005, 12h20
  3. [VB.NET] Nombre ligne d'un DataGrid
    Par botanique dans le forum Windows Forms
    Réponses: 11
    Dernier message: 05/11/2005, 16h45
  4. insérer un nombre décimale dans une table
    Par mouloudéen dans le forum Access
    Réponses: 4
    Dernier message: 02/10/2005, 21h29
  5. CRITERIA - Représentation binaire d'un nombre décimal signé.
    Par RamDevTeam dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 10/08/2005, 14h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo