2010-09-08 51 views
5

我一直在使用該功能拍攝日期毫米/ dd/yyyy格式...日期確認爲一個文本框

<asp:CompareValidator ErrorMessage="(mm/dd/yyyy)" Display="Dynamic" ID="valcDate" 
    ControlToValidate="txtDob" Operator="DataTypeCheck" Type="Date"  
    runat="server"></asp:CompareValidator> 
<asp:RangeValidator ID="valrDate" runat="server" ControlToValidate="txtDob" 
    MinimumValue="12/31/1950" 
    MaximumValue="1/1/2100" Type="Date" Text="Invalid Date" Display="Dynamic" /> 

,但它走的是兩位數年份也... PLZ建議

+1

您有9個問題,但仍未注意到代碼示例按鈕? – RedFilter 2010-09-08 11:29:07

回答

18

您可能需要使用正則表達式的日期:

<asp:RegularExpressionValidator ID="dateValRegex" runat="server" ControlToValidate="txtDob" ErrorMessage="Please Enter a valid date in the format (mm/dd/yyyy)" ValidationExpression="^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$"></asp:RegularExpressionValidator> 

此外,由於丹尼爾指出下面你將需要結合使用這與其他驗證,充分驗證的日期。

+0

+1可能需要爲RegularExpressionValidator添加完整的代碼,並且還解釋了這是必需的以及範圍驗證程序,因爲這個正則表達式本身會允許無效的日期,例如02/31/2010 – 2010-09-08 12:22:04