Любые идеи, почему этот MaskedEditValidator не ведет себя должным образом?
Я пытаюсь получить следующие действительные для дд-ммм-гггг.
Расширитель календаря передает этот формат в текстовое поле, но никогда не отображается в текстовом поле.
Сообщение проверки появляется на долю секунды, а затем все, что вы видите, это снова отметка__-___-____
Пример кода:
<ajaxToolkit:CalendarExtender runat="server" Format="dd-MMM-yyyy"
TargetControlID="DOB" />
<ajaxToolkit:MaskedEditValidator ID="DOBMaskedEditValidator"
EmptyValueBlurredText="DOB required" EmptyValueMessage="DOB required"
InvalidValueBlurredMessage="DOB invalid" InvalidValueMessage="DOB invalid"
runat="server" ControlExtender="DobMaskedEditExtender"
SetFocusOnError="true" Display="Dynamic" ControlToValidate="DOB"
IsValidEmpty="false" />
<ajaxToolkit:MaskedEditExtender ID="DobMaskedEditExtender" runat="server"
MaskType="Date" TargetControlID="DOB" Mask="99-LLL-9999" CultureName="en-GB"
ClearMaskOnLostFocus="false" />
Я смотрел на различные примеры, но не могу понять, в чем проблема. Кто-нибудь есть идеи, как мы делаем это с пользовательским форматом даты? Должен ли я использовать MaskType=Date с пользовательским форматом даты?
1 ответ
Извините, ребята, не замечали очевидного Я пропустил атрибут ValidationExpression. Я думаю, потому что я указал формат в MaskedEditExtender, хотя я думаю, что он будет использоваться вместе с валидатором.
На многих примерах показано регулярное выражение, как показано ниже:
"^(0?[1-9]|[12][0-9]|3[01])-(jan|Jan|JAN|feb|Feb|FEB|mar|Mar|MAR|apr|Apr|APR|may|
May|MAY|jun|Jun|JUN|jul|Jul|JUL|aug|Aug|AUG|sep|Sep|SEP|oct|Oct|OCT|nov|Nov|NOV|
dec|Dec|DEC)-(19|20)\d\d\s([0-1][0-9]|[2][0-3]):([0-5][0-9])$"
Но мне нужно, чтобы это работало на нескольких языках, поэтому я выбрал более простой:
"(^\d{2}\-?\w{3}\-?\d{4}$)"
Это сейчас работает нормально.
Полностью рабочий пример:
<ajaxToolkit:CalendarExtender runat="server" Format="dd-MMM-yyyy"
TargetControlID="DOB"></ajaxToolkit:CalendarExtender>
<ajaxToolkit:MaskedEditValidator ID="DOBMaskedEditValidator"
ValidationExpression="(^\d{2}\-?\w{3}\-?\d{4}$)"
EmptyValueBlurredText="<%$Resources:Resource,DOBRequired%>"
EmptyValueMessage="<%$Resources:Resource,DOBRequired%>"
InvalidValueBlurredMessage="<%$Resources:Resource,DOBInvalid%>"
InvalidValueMessage="<%$Resources:Resource,DOBInvalid%>"
runat="server" ControlExtender="DobMaskedEditExtender"
SetFocusOnError="true" Display="Dynamic" ControlToValidate="DOB"
IsValidEmpty="false"></ajaxToolkit:MaskedEditValidator>
<ajaxToolkit:MaskedEditExtender ID="DobMaskedEditExtender"
ClearTextOnInvalid="false" runat="server" TargetControlID="DOB"
Mask="99-LLL-9999" CultureName="en-GB" ClearMaskOnLostFocus="false" >
</ajaxToolkit:MaskedEditExtender>