Wie kann ich mit jQuery Validation auf exakte Länge prüfen?
Mithilfe der jQuery-Validation plugin zu validieren Formen, wie würden Sie bestätigen, dass ein string genau X Zeichen lang?
InformationsquelleAutor der Frage Nathan Long | 2009-08-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Da es (derzeit) keine integrierte Methode für diese, würden Sie brauchen, um Ihre eigene Methode. Dies würde die Arbeit:
Könnte dann z.B. so verwendet werden:
Update - Wie es Funktioniert
Wurde ich gefragt, wie das funktioniert. Ich kenne nicht alle details, ich modellierte Sie diese Methode auf die bereits bestehenden. Dies ist jedoch mein bestes versucht, es zu erklären.
value
element
undparam
.value
ist der eingegebene Wert in das Feld, das validiert wird,element
ist das Feld selbstparam
ist, was kommt nach der Regel, Art und Dickdarm. In dem Beispiel oben, es ist der 10exactlength: 10
return
- Anweisung. Diese geben das endgültige Urteil des validation-Methode zurück, um den code, der es aufgerufen. Jede Validierung der Methode zurückgibttrue
sagt, 'dieses Feld Validierung weiterleitet!' Es wird wieder den Wert der Zeile es auf.return
ist, gefolgt von zwei Erklärungen, getrennt durch ein 'oder' - operator (||
).||
Betreiber bedeutet 'bewerten das Element Links von diesem. Wenn es wahr ist, true zurück. Wenn nicht, versuchen, das eine auf der rechten Seite. Wenn es wahr ist, true zurück. Andernfalls geben Sie false zurück.'this.optional(element)
. Wenn das element ist nicht erforderlich, in Ihren Regeln, diese gibt true zurück, und so wird die Validierung. Was bedeutet " Wenn ich Ihnen nicht sagen, dass dieses Feld erforderlich ist, ist mir egal, ob es überprüft.'||
. Dies ist die eigentliche Validierung test. Es vergleicht die Länge des Feldes ist die Eingabe mit der Länge, die Sie angegeben sollte es sein. Wenn Sie identisch sind, gibt es true zurück, gibt die Methode true zurück, und die überprüfung geht. Andernfalls wird die Validierung fehlschlägt.Dass es über. Für weitere Hilfe finden Sie auf den Dokumentationinsbesondere der Teil über benutzerdefinierte Validierung von Methoden.
InformationsquelleAutor der Antwort Nathan Long
Beispiel:
InformationsquelleAutor der Antwort Igor
Könnte man auch die vorhandenen
rangelength
Methode unterstützt exakt diesen Bereich durch die Bereitstellung einer dynamischen Meldung wie dieser:Wie gesehen werden kann, erzeugen Sie Nachrichten on-the-fly basierend auf der übergebenen Argumente auf die Validierung von Methoden. Nachricht callbacks übergeben werden, die Validierung der Methode Argumente, die als erstes argument, und das input-element, das validiert wird, als Ihr zweites argument.
Dies macht es möglich, zurück eine Nachricht, wenn Sie einen exakten Bereich angegeben ist, aber eine andere, wenn Obere und untere Schranken sind nicht das gleiche.
Fallback auf die default -
rangelength
Nachricht, ersetzenmit
Wäre es schön, wenn die offizielle Dokumentation aktualisiert werden sollen, da es schwierig ist zu navigieren und beschreibt nicht alle Funktionen des plugins.
InformationsquelleAutor der Antwort Lars Gyrup Brink Nielsen
Der einfachste Weg ist die Nutzung der bestehenden Prüfmethoden, die über data-Attribute, dann stellen Sie einfach Ihre eigene Validierung Nachricht für Klarheit.
InformationsquelleAutor der Antwort Ted Avery