ASP CustomValidator, avanzando a la devolución de datos después del error

Tengo una página ASP .NET con validadores ASP (campo obligatorio, expresión regular, ...) más funciones de script java para validación adicional (por ejemplo, para verificar si la segunda fecha es mayor que la primera fecha, entre otras).

Yo suelo hacer:

<script type="text/javascript">

    function validate() {
        // ...
        alert('Not valid!');
        return false;
    }    
</script>


<asp:Button ID="Button1" runat="server" Text="Add" 
            OnClientClick="return validate();" OnClick="Button1_Click" />

Por lo tanto, el botón avanza a la devolución de datos si la asp y la validación de JavaScript pasan, y funciona bien.

Estoy probando el validador personalizado:

<asp:CustomValidator ID="CustomValidator1" 
EnableClientScript="true" runat="server" ControlToValidate="TextBox1" 
ClientValidationFunction="validate();" >
</asp:CustomValidator> 

(también se intentó con ClientValidationFunction = "return validate ();")

Pero la página avanza continuamente a la devolución de datos, incluso después de mostrar la alerta "no válida" ... ¿Alguna idea? ¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta