jquery .trim() mit Textfeldern
In einem anderen post habe ich gemacht, someome erklärte, dass der check für leere Werte in die Textfelder und Texteingabefelder, die Sie verwenden sollten .val() mit $.trim-check für leere Werte. Für z.B.,
if($.trim($("#textboxid").val()) == "") {
//do something
}
Kann mir jemand erklären, warum wir trimmen müssen hier nichts? Gibt es versteckte Leerzeichen oder Zeilenumbrüche in Textfeldern.
Das wird davon abhängen, was Sie versuchen zu erreichen. Nehmen Sie nicht dies als eine Faustregel.
Meine Vermutung ist der Autor von diesem Beitrag wurde versucht zu fangen Benutzer, die absichtlich geben Sie Leerzeichen ein, in dem Fall
Das Beispiel war wahrscheinlich auf der Grundlage der Tatsache, dass ein Benutzer könnte ein fake-Eintrag durch ein Leerzeichen. Also, anstatt mehrere Prüfungen für diese Räume entfernt und überprüft, ob eine leere Eingabe. Es ist eigentlich eine ziemlich gute Idee, wenn das ist alles, was Sie wollten, zu validieren.
mit === statt == (javascript-the good parts") , könnte man dies als eine Regel von Daumen 🙂
Meine Vermutung ist der Autor von diesem Beitrag wurde versucht zu fangen Benutzer, die absichtlich geben Sie Leerzeichen ein, in dem Fall
val()
würde keine leere Zeichenfolge sein, aber gekürzt wäre es erwischt.Das Beispiel war wahrscheinlich auf der Grundlage der Tatsache, dass ein Benutzer könnte ein fake-Eintrag durch ein Leerzeichen. Also, anstatt mehrere Prüfungen für diese Räume entfernt und überprüft, ob eine leere Eingabe. Es ist eigentlich eine ziemlich gute Idee, wenn das ist alles, was Sie wollten, zu validieren.
mit === statt == (javascript-the good parts") , könnte man dies als eine Regel von Daumen 🙂
InformationsquelleAutor Joseph | 2011-09-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie mit vielen Dingen, die in JavaScript (und Programmierung im Allgemeinen), es ist alles über das schreiben robuste und wartbar code. Dieser code ist einfach mehr Toleranz bei fehlerhaften Benutzereingaben. Wenn ein Benutzer legt einen Raum gibt, und dann vergisst es, visuell, Sie werden nicht in der Lage zu sagen. Dieser wird sich darum kümmern, dass Szenario durch überprüfen, um zu sehen, wenn Ihr Feld enthält nur Leerzeichen.
Allerdings dürfte es nicht angebracht sein, in allen Szenarien!
Weiter, solange wir reden "robust und haltbar" - code, verwenden Sie explizite äquivalenz-Operatoren eher als truthy/falsey tests:
InformationsquelleAutor Adam Terlson
trim ist so, dass, wenn der Benutzer legen Sie in einem Raum, es nicht zu behandeln wie einen Wert. Mit trim mit einem Wert von
" "
geworden""
.InformationsquelleAutor Joseph Marikle
Ist es anwendungsspezifische, ob jemand will, um schneiden Sie die Textfelder oder nicht. Im Allgemeinen ist es schwer zu sehen, und damit erkennen.
InformationsquelleAutor Piyush Mattoo