Пользовательские валидаторы ASP.NET - Page.Validate ("groupName") не запускаются? - PullRequest
1 голос
/ 05 января 2011

У меня есть собственный валидатор, в котором скрипт, проверяющий элемент управления, является клиентским JavaScript.

В моем коде VB для веб-сайта я звоню Page.Validate("groupName"), но мой скрипт проверки не запускается вообще. Я поместил точку останова в свой JavaScript, но он даже не касается моего сценария проверки. Хотя, когда я использую ту же функцию для не пользовательских валидаторов, она работает.

Я думаю, что невозможно вызвать мой сценарий проверки на стороне клиента в моем VB-коде через код Page.Validate("groupName"). Нужна ли мне функция проверки на стороне сервера?

Вот немного кода:

<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 Ответ

3 голосов
/ 05 января 2011

Page.Validate используется для проверки на стороне Сервер . Если вы хотите запустить проверку на стороне клиента, вызовите функцию Page_ClientValidate("group1") из своего кода JavaScript.

...