JQuery Validator Plugin Asp.Net Call-Server-Methode
-
22-07-2019 - |
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 ...
Lösung
ganz einfach und es ist ein schönes thcnique, dass ich viel über meine Projekte
anwenden1 - 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.