使用MaskedEditExtender进行日期验证

时间:2013-11-20 09:33:08

标签: javascript asp.net ajax date maskededitvalidator

我正在使用Ajax maskededitextender以及javascript作为我的日期字段。现在,如果我插入像12/12/2013这样的日期,那么它允许我插入。但是如果我插入13/12/201312/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>

1 个答案:

答案 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”中它可以工作.. !!