我正在使用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))))$/;
我的maskededitvalidator如下
<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>
答案 0 :(得分:0)
检查此链接我的朋友,我想问题是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”中它可以工作.. !!