Frage

Ich verwende die JQuery Validierung Plugin ein Formular zu validieren ( http://docs.jquery.com / Plugins / Validierung / )

Zum Beispiel kann ich eine E-Mail in einer Form überprüfen.

Was würde Ich mag es tun, um zu überprüfen, ob der Benutzername bereits gewählt existiert. Also, ich brauche einen Server-Methode aufrufen, die die Datenbank abfragen. Wie kann ich das tun?

UPDATE

Von balexandre Antwort, versuche ich folgende:

$.validator.addMethod("userName", 
    function(value, element)
    {
        $.get
        (
            "CheckUser.aspx?User=" + value, 
            function(data) 
            {
                if (data == "True") 
                {
                    return false;
                }
                else if (data == "False") 
                {
                    return true;
                }
                else 
                {
                    alert(data);
                }
            }
        );
    },
    "User already exists");

    $(document).ready
    (
        function() 
        {
            $("#aspnetForm").validate
            (
                {
                    rules: 
                    {
                        <%=txtUserName.UniqueID %>: 
                        {
                            required: true,
                            email: true,
                            userName: true                        
                        }
                    }
                }
            );
        }
    );

In der Antwort schreibe ich einen boolean (True False) anstelle von 1 ou 0.

Ich weiß, dass meine Validierung Funktionsaufruf ist. Das Problem ist, dass es immer die Fehlermeldung ist, selbst wenn der Benutzer nicht existiert. Ich versuche, eine Warnmeldung vor der Rückkehr zu setzen wahr, um zu sehen, ob es erreichen, und es ist. So bekomme ich nicht, warum es nicht funktioniert ...

War es hilfreich?

Lösung

ganz einfach und es ist ein schönes thcnique, dass ich viel über meine Projekte

anwenden

1 - schafft eine aspx Seite namens verifyUserAvailability.aspx mit Code-Behind-Datei

2 - löschen Sie alle Zeilen mit Ausnahme der ersten in der aspx-Datei

3 - in der Code-Behind-Datei in der Page_Load Veranstaltung rufen Sie Ihre Datenbank wie

protected void Page_Load(object sender, EventArgs e) {
    string username = Request["usr"];
    int r = 0;

    if(!String.IsNullOrEmpty(username))
        if( yourDAL.getUserAvailability(username) )
            // your method would send true if user is available to be used
            r = 1;

   Response.Clear();
   Response.Write(r);
   Response.Flush();
}

4 - jetzt in Ihrer Formularseite, eine Schaltfläche wie

erstellen
<input id="btnCheckAvailability" type="button" 
       value="Check availability" 
       onclick="javascript:checkAvailability();" />

5 - Erstellen Sie die Checkavailability () Methode

<script type="text/language">

    function checkAvailability() {
        var $user = $("#UsernameInputBox");
        $.get("verifyUserAvailability.aspx?usr=" + $user.val(), function(data) {
            // this will call the page passing the username and return 1 or 0
            if( data == "1" ) 
                $user.css("background-color", "green");
            else 
                $user.css("background-color", "red");
        });
    }

</script>

Andere Tipps

Das sollte es tun ...

http://riderdesign.com /articles/Check-username-availability-with-JQuery-and-ASP.NET.aspx

oder ...

Eine Antwort zeigt, wie ein Dienst aufrufen und die zweite zeigt, wie eine Seite-Methode aufrufen.

Aufruf einer ASP.NET-Server-Seite Methode über jQuery

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top