【发布时间】:2015-07-29 11:45:54
【问题描述】:
我有 2 个文本框,称为最低版本和最高版本,要求用户输入版本(如 1.3.4 )。在给定的时间,只有一个可以为空,不能同时为空所以我提供了自定义字段验证器。我还提供了正则表达式来验证输入的值是否正确。
当我点击按钮输入无效版本字段时,我可以看到按钮点击事件被触发。你能帮忙吗?
<asp:Label ID="lblMinimum" runat="server" Text="Minimum Version : " CssClass="alignLeft"></asp:Label>
<asp:TextBox ID="txtMinimumVersion" runat="server" Width="312px" CssClass="alignRight" ValidationGroup="validate"></asp:TextBox>
<asp:RegularExpressionValidator ID="revModuleVersion" runat="server" ControlToValidate="txtMinimumVersion"
ValidationExpression="^\d+(\.\d+)+$" ErrorMessage="* Please enter valid version number" ValidationGroup="validate"/>
<asp:Label ID="lblMaximum" runat="server" Text="Maximum Version : " CssClass="alignLeft"></asp:Label>
<asp:TextBox ID="txtMaximumVersion" runat="server" Width="312px" CssClass="alignRight" ValidationGroup="validate"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="txtMaximumVersion"
ValidationExpression="^\d+(\.\d+)+$" ErrorMessage="* Please enter valid version number" ValidationGroup="validate"/>
<asp:Button ID="btnUpdateNow" runat="server" EnableViewState="False" Text="Create now"
OnClick="btnCreateNow_Click" CausesValidation="false" ValidationGroup="validate"></asp:Button>
<asp:CustomValidator ID="custValidateModuleVersion" runat="server" Display="Dynamic" ErrorMessage="* Maximum version should be greather or equal to Minimum version"
OnServerValidate="custValidateModuleVersion_ServerValidate"></asp:CustomValidator>
<asp:CustomValidator ID="custValidate" runat="server" Display="Dynamic" ErrorMessage="* Please enter atleast one version"
OnServerValidate="CustomValidator_ServerValidate"></asp:CustomValidator>
【问题讨论】:
-
您的按钮
btnUpdateNow没有验证表单,因为它有CausesValidation="false"