77 votes

Déterminer si une page est valide en JavaScript - ASP.NET

Quelle est la meilleure façon de déterminer si un formulaire sur une page ASPX est valide en JavaScript ?

J'essaie de vérifier la validation d'un contrôle d'utilisateur qui a été ouvert à l'aide de la commande JavaScript window.showModalDialog() et la vérification de la propriété "Page.IsValid" du côté serveur ne fonctionne pas. J'utilise les contrôles de validation ASP.NET pour la validation des pages.

169voto

aherrick Points 5228

Si j'ai une page qui utilise un ensemble de contrôles de validation ASP.NET, j'utiliserai un code similaire au suivant pour valider la page. Faites l'appel sur une entrée soumise. Nous espérons que cet exemple de code vous aidera à démarrer !

    <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>

9voto

Andrea Points 1251

Vous vérifiez Page.IsValid où vous devez vérifier Page_IsValid (c'est une variable exposée par les validateurs .NET) :)

6voto

joshb Points 2435

Les contrôles de validation ASP.NET exposent une API côté client que vous pouvez utiliser avec javascript : http://msdn.microsoft.com/en-us/library/aa479045.aspx

Vous devriez pouvoir vérifier l'objet Page_IsValid pour voir si l'un des contrôles de validation est invalide.

3voto

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

1voto

David Robbins Points 6773

Vous pouvez utiliser jQuery et le Validation pour effectuer une validation côté client. Il fonctionnera à la fois avec les balises html et les contrôles serveur asp.net. Phil Haack a un bon exemple de projet qui vous montrera les bases.

Este Question propose également un examen approfondi de cette approche.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X