2010-08-09 16 views
8

Was ist der Sinn bei der Validierung Ihrer HTML-Formulare mit Javascript, wenn Sie die Formulare immer mit PHP validieren müssen? Ich weiß, dass Sie dadurch einen Geschwindigkeitsschub bekommen, und es ist für den Benutzer bequemer, aber darüber hinaus ist die dafür aufgewendete Zeit es wert? Wenn jemand gute Beweise dafür hat, würde ich es gerne hören.Warum sollten Sie Formulare mit Javascript validieren?

Danke für jede Hilfe!
Metropole

UPDATE

Nach zahlreichen Antworten Empfang Ich mag würde die Frage ein wenig ändern. Wir alle wissen, dass Javascript für den Benutzer viel bequemer ist und schnelleres Feedback gibt. Was ich mich wundere ist: Hat jemand jemals irgendwelche "Beweise" gesehen, dass es das wert ist? Oder machen wir es einfach, weil es die Dinge ein bisschen besser macht und jeder sagt, wir sollten es tun? Der Geschwindigkeitsunterschied ist nicht so signifikant, und wenn das Internet schneller wird, wird die JavaScript-Validierung noch obsoleter werden, denke ich.

Ich beginne mich zu fragen, ob die Zeit, die für die Validierung einer Seite mit Javascript verbracht wird, besser ausgegeben werden könnte.

+1

Ich stimme völlig mit Ihnen überein, ich benutze nie JS für die Validierung, nur für die Dekoration :) – darma

+2

Durch die Frage erkennen wir, dass Sie sowohl Server-Validierung und Benutzer-Validierung so verstehen ** die eigentliche Frage ist, ob die verbrachte Zeit Das Erstellen einer besseren Benutzererfahrung ist verschwendet oder nicht **. Es ist ziemlich subjektiv. – Frankie

+0

@Frankie Ja, du hast Recht ..... Was ich wirklich suche, ist ein guter "Beweis" dafür, dass der Saft die Mühe wert ist. Wurden zu diesem Thema Studien durchgeführt? Die meisten Antworten, die ich hier erhielt, sagten mir bereits, was ich weiß. Jeder sagt immer "Javascript macht es einfacher für den Benutzer", aber zahlt sich das wirklich aus? Oder machen wir es einfach, weil es ihnen leichter fällt und davon ausgeht, dass es sich auszahlt? – Metropolis

Antwort

15

Im Idealfall validieren Sie über Javascript und (in Ihrem Fall) PHP.

Beide Validierungsmethoden arbeiten zusammen, um sicherzustellen, dass Sie für Ihren Endbenutzer die robusteste und benutzerfreundlichste Funktionalität erhalten.

Sie werden die clientseitige Validierung verwenden, um sicherzustellen, dass alle Felder ausgefüllt sind, die E-Mail-Adressen gültig sind. Dies gibt sofortiges Feedback und belastet Ihre Server oder die Internetverbindung des Benutzers nicht.

Sie validieren serverseitig für Sicherheit. Sie können alles auf dem Server und nichts auf dem Client-Rechner steuern. Hier stellen Sie sicher, dass alle eingegebenen Daten nicht bösartig und korrekt sind.

Denken Sie daran: Wenn Sie nur mit einer Art von Validierung gehen, wählen Sie serverseitige Validierung, weil es sicherer ist. Sie sollten nie auf clientseitige Code für jede Art von Sicherheit verlassen.

Mit beiden Arten der Validierung erhalten Sie das Beste aus beiden Welten (Reaktionsfähigkeit und Sicherheit), ohne die Nachteile zu haben. Das bedeutet natürlich, dass Sie mehr Code schreiben müssen, aber meiner Meinung nach ist es das wert.

EDIT: Als Reaktion auf die Kommentare

Ja, Sie müssen mehr Code schreiben, um diese Art und Weise ... Als Faustregel gilt, wenn es für den Programmierer schwieriger ist, ist es leichter auf den Benutzer .In manchen Budgets macht es vielleicht keinen Sinn, beide Arten der Validierung durchzuführen, und das ist ein Aufruf, den Sie machen müssen. Stellen Sie nur sicher, dass Ihre serverseitige Validierung unabhängig von der Stabilität ist.

Ja, Zeit ist Geld und Zeit investiert in die Verbesserung der Benutzererfahrung ist Zeit gut investiert. Wenn Sie es sich jetzt nicht leisten können (Termine/Zeitplan/Budget), dann tun Sie es, wenn Sie können.

+0

Das einzige, was Sie wirklich bekommen, ist Geschwindigkeit? Aber all die zusätzliche Zeit, die Sie damit verbringen, diese Javascript-Validierung durchzuführen, um ein paar Sekunden zu sparen (oder in den meisten Fällen weniger)? Versteh mich nicht falsch, ich habe immer beide bisher gemacht. Aber ich bin gerade zu einer Form mit 14 Feldern gekommen und ich bin der Meinung, dass es nicht das Hasser wert ist. – Metropolis

+8

Hören Sie auf, darüber nachzudenken, was für Sie bequem ist, und fangen Sie an, darüber nachzudenken, was für den USER bequem ist. ;) –

+0

@Liam LOL Ich stimme zu ...... Aber Zeit ist Geld. – Metropolis

-9

PHP läuft serverseitig, Javascript läuft clientside. Sie möchten nicht, dass Ihr Server die Formularvalidierung prüft, wenn Sie den Clientcomputer dazu bringen können. Plus es spart Bandbreite.

+6

Nun, Sie müssen immer die Formular-Server Seite trotzdem validieren ... – darma

+3

Kommend als nächstes: Client-Seite sql Injektionsprävention. – Mchl

+0

Ich kenne diese Dinge schon .... Deshalb sagte ich "Ich weiß, dass du dadurch einen Geschwindigkeitsschub bekommst". Was ich wissen will ist, bekomme ich noch etwas anderes? Weil es Zeit braucht, um auf beiden Seiten zu validieren, wenn der PHP benötigt wird, aber das Javascript wirklich nicht ist. – Metropolis

2

Es geht um Benutzerfreundlichkeit. Es ist viel bequemer für den Benutzer, die Fehler zu lesen, die er vor dem erneuten Laden der Seite gemacht hat, anstatt die Seite kontinuierlich zu senden und neu zu laden. Es kann auch ein schöneres Aussehen mit etwas AJAX und den Likes geben, anstatt ein Nachladen der Seite und die sehr hässlich aussehenden roten Fehlermeldungen, denke ich. Also der Vorteil? Viel brauchbarer als serverseitige Validierung allein.

0

Um eine bessere Benutzererfahrung zu bieten.

Das Feedback zur JS-Validierung ist schneller und daher besser als die serverseitige Validierung beim Senden von Formularen.

0

Der Hauptpunkt der JavaScript-Validierung (wenn verfügbar) besteht darin, dass die Benutzererfahrung verbessert wird. Ein Round-Trip zum Server erfordert eine Seitenladung und das damit verbundene nervige Flackern beim Neuzeichnen. Durch die Validierung in JavaScript-Code können Sie eine Nachricht ohne all das anzeigen.

Das besagt, serverseitige Validierung ist immer noch erforderlich, da JavaScript nicht immer verfügbar ist (NoScript ist sehr beliebt) und weil ein böswilliger Benutzer das JavaScript umgehen wird.

0

Insbesondere für datenbankgestützte Websites ist es meist so, dass Sie die serverseitige Validierung trotzdem durchführen müssen. z.B. um sicherzustellen, dass Sie gültige Daten in eine Datenbank oder ein anderes System eingeben. Je nachdem, was die Website aktualisiert, könnte dies absolut entscheidend sein.

Die clientseitige Validierung kann jedoch eine bessere Benutzererfahrung bieten. Es kann verwendet werden, um sofortige Rückmeldung zu geben. z.B. Wenn Sie den Fokus von einer Textbox wegbewegen, kann ein Validator ein sofortiges Feedback geben, was sehr hilfreich ist, wenn Sie ein langes, kompliziertes Formular ausfüllen.

Die Quintessenz ist, dass Sie immer noch gute Daten in Ihre Datenbank eingeben müssen. Und je genauer die darin gespeicherten Informationen sind, desto weniger Probleme mit dem System haben Sie später. Du brauchst beides.

z.B. Was passiert, wenn jemand den Website-Code in der Zukunft aktualisiert und die Validierung bricht? oder jemand schreibt ein Skript, um die Dateneingabe zu automatisieren, indem Sie Ihr Web-Front-End umgehen, all seine Validierung?

Ich werde es noch einmal sagen. Du brauchst beides.

0

... ich denke, du hältst auch dein Karma sauberer, wenn Hunderte oder Tausende deiner Benutzer nicht wünschen, dass du in der Hölle verbrennst, damit sie 5-7 Felder ausfüllen (mit Textarea), um darüber informiert zu werden Auf der nächsten Seite haben sie ihre E-Mail-Adresse falsch geschrieben, so dass sie wieder von vorne beginnen müssen: D es kostet nicht viel Zeit Javascript zu integrieren, sagen Sie 1-2 Minuten maximal für 1 Formular. und es spart viele Nervenzellen meiner Benutzer. sei ein Humanist! Liebe deinen Nachbarn!))

0

Clientseitige Validierung ermöglicht eine erhöhte Benutzererfahrung. Das Feedback, das Sie dem Benutzer geben, führt zu weniger Frustration, weniger Fehlern, mehr Conversion, mehr Geld. Mit dieser Art der Validierung haben Sie im Allgemeinen eine bessere Antwortrate, was sehr wertvoll ist.

Eine hochwertige Software benötigt dies. Benutzer fühlen sich glücklich, und sie werden ihre Freude verbreiten. Ein Benutzer, der eine schlechte Erfahrung hat, wird nicht kommen und wird es seinem Freund nicht erzählen.

Es ist nicht nur Dekoration, wenn Sie zu Geschäft und Verkauf kommen. ;) Der Return on Investment ist es wert.

0

Einfach.

Javascript, um dem Benutzer zu helfen, korrekt formatierte Daten einzugeben. PHP, um sicherzustellen, dass alles, was in Ihr Skript eintritt, vor der weiteren Verarbeitung gereinigt wird.

Natürlich müssen Sie beides tun. Benutzer wollen es, Ihre Kunden wollen es und ehrlich gesagt, Sie denken, es ist fughy bekommen Php Fehlermeldungen nach dem Einreichen sowie.

Ich glaube nicht, dass das Argument, extra .js codieren zu müssen, was vermutlich Ihre Zeit/Ihr Budget auffressen würde, jede Wahrheit birgt. Es gibt so viele Bibliotheken und Skripte, mit denen man die Disco-Validierung in kürzester Zeit einrichten kann. Lassen Sie sich jedoch nicht davon abhalten, Süßigkeiten auszugeben. .js Validierung ist nur dazu da, um zu helfen. Nicht beeindrucken.

Verwandte Themen