Es ist lange her, dass wir unsere Formulare mit JavaScript validiert haben. Ich bin sicher, dass dies bei den meisten anderen Entwicklern der Fall sein muss.
Frage:
Was ist, wenn der Benutzer (oder wahrscheinlich ein Bösewicht) JavaScript deaktiviert?
Du bist verloren!
- Lohnt sich die JavaScript-Validierung?
- Sollten wir es jetzt jemals benutzen?
- Gibt es dafür Lösungen?
Korrigieren Sie mich, wenn ich falsch liege.
javascript
Sarfraz
quelle
quelle
Wie gesagt: Verlassen Sie sich einfach nicht auf den Kunden. Mach das niemals. Überprüfen Sie alles auf dem Server erneut.
Ja - der Benutzer sieht also sofort, was falsch ist. Andernfalls musste er zuerst die Daten zurückschicken, was eine Weile dauern kann. Übrigens reduzieren Sie den Datenverkehr zu Ihrem Server.
Es ist einfach intuitiver.
// EDIT: BTW: Die ASP.NET ValidationRules enthalten meines Wissens sowohl eine clientseitige als auch eine Server-Validierung.
quelle
Die Javascript-Validierung ist gut, da sie eine bessere Benutzererfahrung bietet.
Sie sollten sich jedoch niemals darauf verlassen und unabhängig davon auf dem Server validieren.
quelle
Wenn Sie Zeit sparen möchten, verwenden Sie nur die Serverseite. Wenn Sie eine bessere Leistung und Benutzererfahrung wünschen, fügen Sie anschließend eine clientseitige Validierung hinzu. Verlassen Sie sich aus den von Ihnen angegebenen Gründen niemals auf die clientseitige Validierung. Alle kritischen Überprüfungen sollten auf dem Server erfolgen ... auch wenn sie auf dem Client dupliziert wurden.
quelle
JavaScript verbessert Benutzer - Interaktion für Ihr Produkt oder eine Dienstleistung. Die Benutzerinteraktion (Benutzereingabe und Maschinenreaktion oder umgekehrt) ist ein wesentliches Merkmal unserer Anwendungen. Wie wir alle erfahren haben, werden Produkte interaktiver als je zuvor. Und dieser Interaktionsteil kann (nur) in JavaScript ( ActionScript für Flash Player ) erstellt werden. Wir sind uns alle einig - es gibt immer einen kalkulierten Arbeitsaufwand, der an die Client-Seite (Maschine) übertragen werden kann, um Anrufe zu vermeiden, ohne sie zum Senden an die Server zu stören. Es gibt viele, viele Anwendungen, die stark von Client-Skript-Skripten abhängig sind. Und wenn sie festgestellt haben, dass Sie die erforderlichen Skripte nicht zulassen, haben sie darum gebeten und eine Nachricht hinterlassen
noscript
Etikett. Aber ich denke, jeder möchte, dass es aktiviert wird, da wir alle einen Tab mit Google Mail, Facebook usw. starten.Dies sollte jedoch nicht ignoriert werden, da wir jede einzelne Gelegenheit (Publikum / Kunde) nutzen möchten und es zumindest besser ist, mit ihnen zu arbeiten, als auseinanderzufallen. Es funktioniert noch!
Als Benutzer der Microsoft Development Platform gibt es auf der
.NET
Plattform eine bequeme Lösung . Das erfordert keine doppelte Anstrengung in solchen Fragen. Nutzen Sie Ihre clientseitige Validierung, während die Skripterstellung mitPage.Validate()
und deaktiviert istPage.IsValid
.protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack) { Page.Validate(); // If you missed, then you got the second chance ... } } protected void btnSubmit_Click(object sender, EventArgs e) { if (Page.IsValid) { // Confirm you do a proper validation before moving to perform any process Response.Write("Done!"); } }
Ich hoffe das wird helfen.
quelle
Bei der clientseitigen (Javascript) Validierung geht es um Benutzerfreundlichkeit, sonst nichts. Wenn die Kosten für die Implementierung die wahrgenommene Steigerung der Benutzerfreundlichkeit nicht wert sind, nehmen Sie sich keine Zeit dafür. Heutzutage ist das allerdings ziemlich einfach!
Ich glaube jedoch nicht, dass Sie auf eine serverseitige Validierung verzichten können, da dies das einzige ist, das Ihnen Sicherheit bietet.
quelle
Die Verwendung von JavaScript ist nicht falsch. Wir benutzen es seit langer Zeit. Es wird zum Anwenden clientseitiger Validierungen verwendet.
Trotzdem sollten wir eine serverseitige Validierung implementieren, damit ein Bösewicht die Anwendung nicht beschädigen kann.
quelle
Wenn Sie aus diesem Thema nur eines lernen, lassen Sie es so sein:
Vertrauen Sie unter keinen Umständen den Daten des Browsers und überprüfen Sie die Anforderungsdaten immer auf der Serverseite.
Ja definitiv. Sie müssen kein leeres Feld auf der Serverseite überprüfen. Es geht nicht darum, die Verfügbarkeit einer E-Mail zu überprüfen (Eindeutigkeit der E-Mail). Wenn Sie dieses leere Feld trotzdem ablehnen, ist es sinnlos, es an den Server zu senden und den Server dazu zu bringen, zusätzliche Arbeit dafür zu leisten.
quelle
Sie müssen es auf der Serverseite validieren. Javascript ist gut, um das Formular zu validieren. Benutzer können jedoch Javascript deaktivieren oder ein anderes Javascript verwenden, um es zu hacken. Daher ist die Validierung auf der Serverseite ein Muss.
quelle
JavaScript ist nützlich für die clientseitige Validierung. Aber Sie können sich nicht nur auf sie verlassen. Sie müssen die serverseitige Validierung für die veröffentlichten Daten verwenden. JavaScript verhindert nur unnötige Beiträge auf dem Server.
quelle
Sie können die server- und clientseitige Validierung mithilfe eines Frameworks, das beide unterstützt, problemlos durchführen. In der Vergangenheit habe ich für ASP.NET die Peter Blum-Validatoren verwendet:
http://peterblum.com/
Auf diese Weise legen Sie die Validierungssteuerelemente auf Ihrer Seite ab, verbinden sie mit den Eingaben (Textfelder, Dropdown-Listen usw.) und geben die Validierungseigenschaften an (Mindestlänge, erforderlich, Fehlermeldung usw.). Wenn die Seite ausgeführt wird, spuckt das Framework äquivalenten Code sowohl für den Client (JavaScript) als auch für den Server (ASP.NET) aus, um Ihre Validierung durchzuführen.
Ohne einen solchen Rahmen kann die Validierung mühsam sein, wie andere Poster hervorgehoben haben.
Es würde mich interessieren, etwas Ähnliches für PHP oder andere Technologien zu wissen.
quelle
Sie sollten mehrere Validierungsebenen haben.
Validierung auf der Client-Seite
Dies ist auf jeden Fall nützlich, da die Validierung durchgeführt werden kann, ohne zum Server gehen zu müssen. Anforderungen werden nach der Validierung an den Server gesendet - spart Datenverkehr.
Validierung auf der Serverseite
Wenn Javascript deaktiviert ist, sollte der Server auch eine Schutzstufe enthalten - Validierung, um fehlerhafte Anforderungen nicht zuzulassen.
quelle
In einer mehrschichtigen / serviceorientierten Umgebung sollte die Validierung auf mehreren Ebenen erfolgen, um eine bessere Wiederverwendung zu ermöglichen und gleichzeitig eine sichere Anwendung aufrechtzuerhalten. Die Validierung auf der Clientseite, sei es in einer Desktop-App oder auf einer Website / Anwendung, sollte für eine bessere Benutzererfahrung sorgen, um jedes Mal Postbacks auf dem Server zur Validierung zu verhindern, was mehr Bandbreite und Benutzerzeit kostet. Wenn die clientseitige Validierung nicht vollständig in das Front-End verschoben werden kann, sollten Sie Ajax für ein teilweises Postback zu einer serverseitigen Validierungsroutine verwenden, während Sie eine bessere Kundenerfahrung beibehalten und es einem Programmierer ermöglichen, die Validierungsregeln zentral zu verwalten.
Zweitens auf der Client-Seite, aber was noch wichtiger ist ist , Server - Side - Code sollte die Daten überprüfen , bevor es über eine Datenschicht oder Übergabe an einem anderen Server Side - Verfahren / Service, zu beschäftigen Geschäftsregeln rund um die Daten und verhindert den Fehler in der Datenintegrität persistierenden. Schließlich sollte die Persistenzschicht selbst (die unmittelbare Schnittstelle zur Datenbank oder zu einem anderen Speichermechanismus) die gespeicherten Daten validieren, um wiederum Fehler in der Datenintegrität und möglicherweise weitere Geschäftsregeln zu vermeiden. Das Letzte, was Sie wollen, ist ein Datenspeicher mit nutzlosen Daten.
Durch die Verwendung dieser Methode bleiben Ihre Daten sicher und integer. Bei erneuter Wiederverwendung Ihrer Persistenzschicht, Ihrer Datenschicht oder Ihrer Front-End-Präsentation auf Ihrer eigenen Website (oder über einen Webdienst, eine Desktopanwendung oder eine mobile App) sind diese Validierungsroutinen bereits vorhanden und können vorhanden sein wieder eingestellt werden. Dies sollte sich für Sie allein, Ihre Kollegen und Ihr Management als sehr vorteilhaft erweisen, wenn Sie in einem Team arbeiten.
quelle
Is JavaScript validation worth of it?
Nun ja, es ist. Durch die Verwendung der JavaScript-Validierung können Sie problemlos alle Arten von Informationen über die Client-Site abrufen, während die JavaScript-Validierung eine bessere Benutzererfahrung bietet
Ja, Sie können, weil Benutzer dort Fehler sehen oder was sie in Echtzeit falsch machen
Are there any solutions to this?
Ja, Sie können auch die serverseitige Validierung verwenden. Manchmal dauert es jedoch länger. Es ist auch unsicher
quelle