Salut à tous,
Je rencontre un petit souci avec un champ texte me servant à la saisie d'une heure au format "hh.mm".
J'ai mis en place un MaskedEditExtender pour forcer la saisie à ce format, et un MaskedEditValidator pour m'assurer que les gens entraient bien des heures (et limiter au max à "23.59").
Tout cela fonctionne très bien, sauf que... Je souhaite que ce champs soit facultatif.
Si je laisse ClearMaskOnLostFocus="false", la saisie se passe bien, mais si je ne remplis pas le champ, il contient quand même le masque : "__.__", donc la validation du formulaire échoue.
SI au contraire je met ClearMaskOnLostFocus="false", le champ est bien vide quand je n'y entre rien, mais quand je le renseigne et que j'en sors, le masque disparait, me mettant l'heure au format suivant : "hhmm", sans le point, et le MaskedEditValidator nous indique donc une erreur.
Auriez-vous un moyen de faire en sorte que les 2 cas fonctionnent en même temps ?
Mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <asp:TextBox ID="TextBoxHeure" runat="server" /> <ajaxToolkit:MaskedEditExtender ID="TextBoxHeureMask" runat="server" Mask="99\.99" MaskType="None" TargetControlID="TextBoxHeure" ClearMaskOnLostFocus="true" ClearTextOnInvalid="false" /> <ajaxToolkit:MaskedEditValidator ID="TextBoxHeureValidator" runat="server" ControlExtender="TimePicker" ControlToValidate="TextBoxHeureMask" IsValidEmpty="true" Display="Dynamic" InvalidValueMessage="*" ValidationExpression="((([01][0-9])|(2[0-3]))\.[0-5][0-9])|(2[_]\.2[_])" />
Partager