Javascript 范围验证器问题
我有一个GridView,其中一个字段中有一个文本框。我使用范围验证器确保用户只输入“x”字符:Javascript 范围验证器问题,javascript,asp.net,Javascript,Asp.net,我有一个GridView,其中一个字段中有一个文本框。我使用范围验证器确保用户只输入“x”字符: <asp:TextBox ID="txtMP3Master" runat="server" Text='<%# Eval("MP3Master") %>' BorderStyle="None" Width="80%" MaxLength="1" onchange="JSSaveNTSChanges(this);"></asp:TextBox> <asp:
<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()。我希望此函数调用在无效输入时被阻止。顺便说一句,CompareValidator在其他字段中正常工作,并阻止调用相应的函数。
有可能解决这个问题吗?
谢谢。我不确定您的函数JSSaveNTSChanges是在验证程序验证之前还是之后调用的。但我推荐以下两个选项之一:
您应该使用
CompareValidator
而不是RangeValidator
以下是我在这方面所做的测试。试试看
<asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="CompareValidator"
ValueToCompare="x" ControlToValidate="txtMP3Master"></asp:CompareValidator>
谢谢您的回答。我不能使用submit按钮,我甚至没有任何按钮。在其他字段中工作的CompareValidator正在检查数据类型,而不是值。