可以从jQuery中激活asp.net验证吗?

时间:2010-04-07 17:21:27

标签: asp.net jquery validation

我的表单上有几个文本框。我只想接受花车,但很可能用户会输入一个美元符号。我正在使用以下代码删除美元符号并验证内容:

jQuery的:

            $("#<%= tb.ClientID %>").change(function() {
                var ctrl = $("#<%= tb.ClientID %>");
                ctrl.val(ctrl.val().replace('$',''))
            });

asp.net验证:

<asp:CompareValidator ID="CompareValidator4" runat="server" Type="Double" ControlToValidate="tb" Operator="DataTypeCheck" ValidationGroup="vld_Page" ErrorMessage="Some error" />

我的问题是,当有人在TextBox“tb”中输入一个美元符号并更改焦点时,验证首先发生,然后jQuery删除美元符号。是否有可能首先运行jQuery或强制验证在jQuery执行后再次运行?

3 个答案:

答案 0 :(得分:6)

所有ASP.Net验证器都有一个可以挂钩的客户端API。您可以看到一些documentation and discussion on it here

具体你想要做的是调用javascript函数

ValidatorValidate(document.getElementById("<%= myValidator.ClientID %>"));

使验证器重新运行它的客户端验证例程并更新其显示。

答案 1 :(得分:0)

为什么不使用KeyPress事件并在那里处理$符号,而不是使用更改事件。通过这种方式,用户将无法输入$。

HTH

答案 2 :(得分:0)

尝试调用jquery的.change()方法。

像这样:
$("#Symbol").val(""); $("#Symbol").change();

有时只调用.val()是不够的。