我在其中一个字段中有一个带文本框的GridView。我使用范围验证器来确保用户只输入“x”字符:
<asp:TextBox ID="txtMP3Master" runat="server" Text='<%# Eval("MP3Master") %>' BorderStyle="None" Width="80%" MaxLength="1" onchange="JSSaveNTSChanges(this);"></asp:TextBox>
<asp:RangeValidator ID="MP3MasterRangeValidator" runat="server" ControlToValidate="txtMP3Master" Display="Dynamic" ErrorMessage="MP3 Master can be nothing but 'x'" Text="*" MinimumValue="x" MaximumValue="x" ValidationGroup="InsertUpdateNewTitlesStatusValidation">
</asp:RangeValidator>
验证器在无效输入上显示“*”,但仍然调用JSSaveNTSChanges()。我希望在无效输入时阻止此函数调用。 BTW,CompareValidator在其他字段中正常工作,并阻止调用相应的函数。 有可能解决这个问题吗? 感谢。
答案 0 :(得分:0)
我不确定在验证器验证之前或之后是否会调用函数JSSaveNTSChanges。但我推荐以下两个选项之一:
答案 1 :(得分:0)
您应该使用CompareValidator
代替RangeValidator
。
这是我在最后测试的内容。试试吧..
<asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="CompareValidator"
ValueToCompare="x" ControlToValidate="txtMP3Master"></asp:CompareValidator>