JQuery remote-Validierung übergabe zusätzlicher parameter?
Meine back-end-Validierung akzeptiert nur 1 parameter: E-Mail
Wenn ich einen Blick in Firebug kann ich sehen, dass die URL der Anfrage sendet 2 Parameter:
https://example.com/rest/checkDupEmail?newEmail=myEmail%40myEmail.com&email=
Hier ist die Validierung code...
HTML:
<input type="textbox" name="newEmail" id="newEmail"/>
JS:
validator = $('#emailForm').validate({
rules: {
newEmail: {
required: true,
remote: {
url: '/rest/checkDupEmail',
data: { email: $('#newEmail').val()},
dataFilter: function(data) {
var json = JSON.parse(data);
console.log($('#newEmail').val());
console.log(data);
}
}
}
}
});
Es ist wie seine Einnahme das HTML-Feld angeben ich (newEmail) und senden Sie es als parameter?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zitat OP:
Ja, natürlich. Das ist das Standardverhalten des
remote
Methode... es sendet die Daten aus dem Feld ausgewertet wird.Es ist das senden von zwei Daten-Parameter, weil das ist, wie Sie es eingerichtet haben.
Es ist bereits das senden der
newEmail
Feld Wert, denn das ist das Feld, das Sie ausgewählt haben, fürremote
Validierung. Dies ist das Standardverhalten bei der Verwendung derremote
Methode.Es ist auch das senden den gleichen Wert wieder als
email
denn das ist genau, wie Sie definiert haben, müssen Sie es mit Ihremdata
option.In der Regel, die
data
option wird nur verwendet, wenn Sie möchten, senden zusätzliche Daten zusammen mit die Standard-Daten. In diesem Fall wird der Wert von dem Feld, das ausgewertet wird,newEmail
, ist die Standard-Daten.Entfernen Sie die
data
option vollständig und akzeptieren nurnewEmail
auf Ihren back-end. Auch ohne JavaScript oder jQuery Validate pluginnewEmail
wäre, wie genau diese Daten natürlich kommt durch den server auf senden.Entfernen Sie die
data
option vollständig, dann entweder umbenennen von markup zuemail
oder Update der server-Seite code zu akzeptierennewEmail
... tun nicht senden Sie dieselben Daten zweimal.Dokumentation: http://jqueryvalidation.org/remote-method/
Ich denke, dass muss man ändern, Punkt 2, wie das Beispiel in der Dokumentation.
Statt
Verwenden Sie