Pregunta Determine si la página es válida en JavaScript - ASP.NET


¿Cuál es la mejor manera de determinar si un formulario en una página ASPX es válido en JavaScript?

Estoy intentando verificar la validación de un control de usuario que se abrió utilizando el JavaScript window.showModalDialog() y verificar la propiedad 'Page.IsValid' en el lado del servidor no funciona. Estoy usando controles de validación de ASP.NET para la validación de la página.


73
2017-07-01 01:12


origen


Respuestas:


Si tengo una página que está utilizando un conjunto de controles de validación de ASP.NET, usaré un código similar al siguiente para validar la página. Realice la llamada en un envío de entrada. ¡Con suerte, esta muestra de código lo ayudará a comenzar!

    <input type="submit" value="Submit" onclick"ValidatePage();" />

    <script type="text/javascript">

    function ValidatePage() {

        if (typeof (Page_ClientValidate) == 'function') {
            Page_ClientValidate();
        }

        if (Page_IsValid) {
            // do something
            alert('Page is valid!');                
        }
        else {
            // do something else
            alert('Page is not valid!');
        }
    }

</script>

161
2017-07-01 14:03



Usted está buscando Page.IsValid donde deberías estar buscando Page_IsValid (es una variable expuesta por los validadores de .NET) :)


9
2017-07-01 14:39



Los controles de validación de ASP.NET exponen una API del lado del cliente que puede usar con javascript: http://msdn.microsoft.com/en-us/library/aa479045.aspx

Debería poder verificar el objeto Page_IsValid para ver si alguno de los controles de validación no es válido.


6
2017-07-01 01:55



$("input[id$=Button2]").click(function () {
    var validated = Page_ClientValidate('repo');
    if (validated) {
        // JavaScript code.
    }
});

3
2018-06-25 13:15



Puede usar jQuery y Validación complemento para realizar la validación del lado del cliente. Esto funcionará con las etiquetas html y los controles del servidor asp.net. Phil Haack tiene un buen proyecto de muestra eso te mostrará lo básico.

Esta ASI pregunta tiene una revisión en profundidad de este enfoque también.


1
2017-07-01 01:43



Conjunto ValidationGroup propiedad para cada asp.net control del validador en su página, debe proporcionar el mismo nombre para ValidationGroup en una página.

Por ejemplo:

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Required" ValidationGroup="Validate"></asp:RequiredFieldValidator>
    <asp:RangeValidator ID="RangeValidator1" runat="server" ErrorMessage="RangeValidator" ValidationGroup="Validate"></asp:RangeValidator>
    <asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="CustomValidator" ValidationGroup="Validate"></asp:CustomValidator>

Después de eso, en tu javascript llama como Page_ClientValidate("ValidationGroup") 

Por ejemplo:

function ValidatePage(){
if(Page_ClientValidate("Validate")){ //validate using above validation controls group
      //validation return true section
}
else{
      //validation return false section
}
}

0
2018-02-07 07:06