Проверка даты с использованием MaskedEditExtender
Я использую Ajax
за maskededitextender
так же как javascript
для моего поля даты. Теперь в том, что если я вставлю дату как 12/12/2013
тогда это позволяет мне вставить. Но если я вставлю 13/12/2013
или же 12/13/2013
проверка происходит Дата не действительна. Это происходит потому, что формат javascript
и формат MaskedEditValidator
конфликтует друг с другом. Мой формат валидатора даты в JavaScript таков, как показано ниже
var fromdatePat = /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/;
и мой маскарадедвалидатор, как показано ниже
<ajax:MaskedEditValidator SetFocusOnError="true" ID="MaskedEditValidator2" runat="server"
ControlExtender="MaskedEditExtender1" Style="vertical-align:middle;"
CssClass="custom_validate_message" ControlToValidate="txtduedate"
EmptyValueMessage="Date is required" InvalidValueMessage="Date is invalid"
Display="Dynamic" TooltipMessage="Please Insert Date" EmptyValueBlurredText="*"
InvalidValueBlurredMessage="Sorry Invalid Date"
ClientValidationFunction="txt_duedate_validate_client"
OnServerValidate="txt_duedate_validate_server" ValidationGroup="MKE">
</ajax:MaskedEditValidator>
1 ответ
Проверьте эту ссылку, мой друг, я думаю, проблема в формате валидатора даты в JavaScript.
Попробуйте этот валидатор в скрипке http://jsfiddle.net/LSsMc/
(/^(((0[13578]|1[02])\/(0[1-9]|[12]\d|3[01])\/((19|[2-9]\d)\d{2}))|((0[13456789]|1[012])\/(0[1-9]|[12]\d|30)\/((19|[2-9]\d)\d{2}))|(02\/(0[1-9]|1\d|2[0-8])\/((19|[2-9]\d)\d{2}))|(02\/29\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g)
Почему вы не используете формат валидатора даты в валидаторе регулярных выражений?
И в MaskedEditExtender UserDateFormat="MonthDayYear" это работает..!!