我正在处理一个应用程序。在这个应用程序中有一个文本框,我在上面应用了日历扩展器来输入日期。我还应用了正则表达式验证器以印度格式输入日期。我有一个按钮可以选择文本框中输入的日期上的所有数据。我这样做了:-
<table>
<tr>
<td>Select Date :
</td>
<td>
<asp:TextBox ID="txtDate" runat="server" ></asp:TextBox>
<asp:CalendarExtender ID="cc" runat="server" Format="dd/MM/yyyy" TargetControlID="txtDate" ></asp:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtDate"
SetFocusOnError="true" ValidationGroup="Ad" ErrorMessage="Please Enter Date" Display="Dynamic">
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="regEmail" runat="server" ControlToValidate="txtDate"
SetFocusOnError="true" ValidationGroup="Ad" ValidationExpression="^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$"
ErrorMessage="Invalid Date.">
</asp:RegularExpressionValidator>
<ajax:FilteredTextBoxExtender ID="ftbeDate" runat="server" TargetControlID="txtDate" ValidChars="0123456789/.">
</ajax:FilteredTextBoxExtender>
</td>
<td>
<asp:Button ID="btnSubmit" Font-Bold="true" CssClass="btn-info" runat="server" Text="View" OnClick="btnSubmit_Click" />
</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我希望如果用户在文本框中输入正确的日期,那么按钮应该被启用,否则它应该被禁用。我不知道该怎么做。请帮助我。
尝试这个:
<asp:TextBox ID="txtDate" AutoPostBack="true" runat="server" OnTextChanged="txtDate_TextChanged" ></asp:TextBox>
<ajax:CalendarExtender ID="cc" runat="server" Format="dd/MM/yyyy" TargetControlID="txtDate" ></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtDate"
SetFocusOnError="true" ValidationGroup="Ad" ErrorMessage="Please Enter Date" Display="Dynamic">
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="regEmail" runat="server" ControlToValidate="txtDate"
SetFocusOnError="true" ValidationGroup="Ad" ValidationExpression="^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$"
ErrorMessage="Invalid Date.">
</asp:RegularExpressionValidator>
<ajax:FilteredTextBoxExtender ID="ftbeDate" runat="server" TargetControlID="txtDate" ValidChars="0123456789/.">
</ajax:FilteredTextBoxExtender>
Run Code Online (Sandbox Code Playgroud)
并且您需要在后面的代码中添加此代码:
protected void txtDate_TextChanged(object sender, EventArgs e)
{
string input = txtDate.Text;
// Here we call Regex.Match.
Match match = Regex.Match(input, @"^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$",RegexOptions.IgnoreCase);
// Here we check the Match instance.
if (match.Success)
{
btnSubmit.Enabled = true;
}
else
{
btnSubmit.Enabled = false;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3312 次 |
| 最近记录: |