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 :

Problème de validation avec MaskedEditExtender


Sujet :

ASP.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 29
    Par défaut Problème de validation avec MaskedEditExtender
    Salut,

    J'utilise le AjaxControlToolkit avec ASP.NET C# 2.0 et j'ai quelques soucis en utilisant le MaskedEditExtender...

    En gros, j'ai un TextBox associé à un MaskedEditExtender et à un MaskedEditValidator qui est validé grace a une REGEX.

    (à partir d'une base de données)
    temf.TemplateFieldMask = "L:99' 99'' 99.99"
    @temf.TemplateFieldRegex = "^[NS]:\d{2}'\s\d{2}''\s\d{2}.\d{2}$"

    Quand on clique dans le Textbox le mask suivant apparait : _:__' __'' __.__
    Le problème semble etre sur l'évènement "onblur" (quand le controle perd le focus) parce que la valeur du TextBox perd le mask, du coup le MaskEditValidator me dit que le format n'est pas bon...

    Ex:
    1- Je clique dans le textbox vide et le mask apparait : _:__' __'' __.__
    2- J'entre le bon format : N:32' 23' 23.34
    3- Je clique à l'extérieur du textbox, sa valeur devient : N32232334 aulieu de conserver son format : N:32' 23' 23.34
    4- Du coup, le validator dit que le champs est invalide et m'empeche de soumettre.

    J'aimerais que le textbox conserve le bon format.

    Voici le code... (Tout est généré dynamiquement et plusieurs controles peuvent avoir des format différents! Meme en essayant dans l'ASPX ca fait la meme chose... )

    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
     
    TextBox wcFieldType = new TextBox();
    wcFieldType.ID = "ctlTemplateField_" + temf.TemplateFieldId;
    wcFieldType.CssClass = "inputText";
    wcFieldType.Visible = temf.TemplateFieldIsVisible;
     
    MaskedEditExtender maskExt = new MaskedEditExtender();
    MaskedEditValidator maskVal = new MaskedEditValidator();
     
    maskExt.ID = "maskTemplateField_" + temf.TemplateFieldId;
    maskExt.TargetControlID = wcFieldType.ID;
    maskExt.Mask = temf.TemplateFieldMask;
    maskExt.CultureName = "en-US";
    maskExt.MaskType = MaskedEditType.None;
     
    maskVal.ControlToValidate = wcFieldType.ID;
    maskVal.ControlExtender = maskExt.ID;
    maskVal.ValidationExpression = @temf.TemplateFieldRegex;
    maskVal.Display = ValidatorDisplay.Dynamic;
    maskVal.IsValidEmpty = true;

    Merci pour votre aide!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 29
    Par défaut
    Quelqu'un saurait m'aider? SVP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 29
    Par défaut
    J'ai repassé 1h30 sur mon code pour tester différentes choses provenant de Google sans succès.

    Toute âme charitable est la bienvenue... ou n'importe qui... faites moi un signe de vie! lol

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 29
    Par défaut
    Si le problème n'est pas assez clair je peux ajouter des détails... juste à me le demander!!

    Avez-vous une autre solution qui gèrerait le format d'entrée de données dans un champs texte?

    Merci de votre appui.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 29
    Par défaut
    Alors là je suis bien déçu que personne n'ait montré d'intérêt pour m'aider... Même pour sympatiser avec moi lol...

    J'ai continué mes recherches et il semblerait que ce soit un problème annoncé comme étant "Réglé" sur Codeplex mais qui ne l'est pas vraiment...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 29
    Par défaut
    Un jour j'aurai une réponse

  7. #7
    Membre confirmé Avatar de issou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 181
    Par défaut
    Bonjour,

    c'est un bug du ToolKit d'ajax , j'avais le même souci avec le calendar Extender qui ne gardait pas ma date... J'avais trouver une solution en bindant directement mon textBox à un champs de mon objet ...là j'étais sûr de ne pas le perdre ...

    J'espere que cela t'aidera .

    Bon travail

  8. #8
    Membre confirmé Avatar de dany13
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Par défaut
    Coucou,
    je t'apporte une réponse, un peu tard car je suis dessus en ce moment.
    Pour ton probleme, il faut ajouter la propriété ClearMaskOnLostFocus="false" si tu veux qu'il garde le formatage que tu as défini dans ton mask

    Pour une fois que j'arrive à aider, enfin si c bien cela biensur!!

    Mon problème à moi est lié à ce mask...Si je ne met rien dans mon textBox, il y a donc : __ __ __ __ __. Et quand j'enregistre la donnée dans ma bdd, il considère ces traits comme une valeur!!! Comment puis je faire pour que ce soit considéré comme vide?

    Merci pour votre aide par avance

  9. #9
    Membre confirmé Avatar de dany13
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Par défaut
    Salut à tous,
    concernant mon soucis de mask et l'enregistrement en base de ces caractères affreux contenu dans mon textbox si elle reste vide :__ __ __ __ __, j'ai pu mettre en place une routinr qui resoud pour le coup mon pb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If MonTel.Text = "__ __ __ __ __" Then
         MonTel.Text = ""
    End If
    C'est tout bête, mais fallait y penser!
    @bientôt

Discussions similaires

  1. problème de validation avec DispachAction
    Par khayri dans le forum Struts 1
    Réponses: 26
    Dernier message: 18/01/2008, 17h43
  2. [XHTML] Problème de validation avec javascript
    Par HwRZxLc4 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 16/12/2007, 00h13
  3. [DOM] Problème de validation avec un Schema et javax.xml.validation
    Par Invité dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 29/08/2007, 12h08
  4. Problème de validation avec le clientsocket
    Par stroumfs dans le forum Delphi
    Réponses: 2
    Dernier message: 03/11/2006, 18h41
  5. Réponses: 4
    Dernier message: 25/10/2006, 08h57

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