MaskedEditExtender & MaskedEditValidator : ClearMaskOnLostFocus
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:
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[_])" /> |