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!
Partager