ASP.NET自定义验证器 - Page.Validate(“groupName”)没有触发?

时间:2011-01-05 20:05:06

标签: asp.net vb.net validation customvalidator

我有一个自定义验证器,验证控件的脚本是客户端JavaScript。

在我的网站后面的VB代码中,我调用了Page.Validate("groupName"),但我的验证脚本根本没有被触发。我在我的JavaScript中设置了一个断点,但它甚至没有触及我的验证脚本。当我在非自定义验证器上使用相同的功能时,它可以工作。

我在想通过Page.Validate("groupName")在我的VB代码中调用我的客户端验证脚本是不可能的。我是否绝对需要服务器端验证功能?

以下是一些代码:

<asp:CustomValidator ID="ValidateTxt" runat="server" 
     ClientValidationFunction="validateTxt" 
     ControlToValidate="txtBox" 
     Display="Dynamic"
     ValidationGroup="group1">
</asp:CustomValidator>

 <script type="text/javascript" language="javascript" >
    function validateFinHeight(source, arguments)
    {
         if(arguments.Value % 2 == 0 ){
            arguments.IsValid = true;
         }             
    }
 </script>

VB背后的代码:

Protected Sub cbo(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbo.SelectedIndexChanged
    Page.Validate("group1")
End Sub

Page.Validate("group1")没有调用我的JavaScript函数。

1 个答案:

答案 0 :(得分:3)

Page.Validate用于在服务器侧进行验证。如果要触发客户端验证,请从JavaScript代码中调用函数Page_ClientValidate("group1")