Ist die JavaScript-Validierung schlecht?

Lesezeit: 4 Minuten

Benutzer-Avatar
Sarfraz

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 dazu Lösungen?

Korrigiere mich, wenn ich falsch liege.

Benutzer-Avatar
Darin Dimitrow

Lohnt sich die JavaScript-Validierung?

Ja, da es eine bessere Benutzererfahrung bietet und Bandbreite spart.

Sollten wir es jetzt jemals benutzen?

Ja, aus den oben genannten Gründen.

Gibt es dazu Lösungen?

Ja, verwenden Sie auch die serverseitige Validierung.

  • auch serverseitig? viel arbeit dann gehst du nicht nur serverseitig?

    – Sarfraz

    22. Dezember 2009 um 8:49 Uhr

  • Aus diesem Grund erstellt z. B. der Validierungsteil des .NET-Frameworks beim Hinzufügen von Validatoren sowohl Javascript- als auch serverseitigen Validierungscode.

    – Jan Jongboom

    22. Dezember 2009 um 8:52 Uhr

  • +1: Du muss sowieso vollständig auf dem Server validieren, aber die JS-Validierung macht Dinge viel schöner für die Benutzer. Ihr Kommentar, Sarfraz, ist ein bisschen so, als würde man sagen: “Wir müssen eine Befehlszeilenschnittstelle für die Skripterstellung bereitstellen? Warum sich die Mühe machen, eine GUI darauf zu bauen?”

    – Andrzej Doyle

    22. Dezember 2009 um 8:56 Uhr

  • +1, js-Validierung dient nur der Bequemlichkeit, die serverseitige Validierung ist unverzichtbar !! Dies ist normalerweise die größere Sicherheitslücke von Anfängerprojekten!

    – Straße

    22. Dezember 2009 um 9:06 Uhr

  • Einer der Gründe, warum Entwickler nicht gerne sowohl auf dem Client als auch auf dem Server validieren, liegt darin, dass dies das DRY-Prinzip zu verletzen scheint. Dies kann abgemildert werden, indem entweder derselbe Validierungscode auf dem Server und dem Client verwendet wird (möglich, wenn etwas wie GWT oder Node.js verwendet wird) oder die serverseitigen und clientseitigen Prüfungen aus derselben Quelle generiert werden (z. B. basierend auf Annotationen). auf Java-Modellklassen).

    – Arnout Engelen

    8. September 2011 um 6:17 Uhr

Was ist, wenn der Benutzer (oder wahrscheinlich ein Bösewicht) Javascript deaktiviert?

Wie gesagt: Verlassen Sie sich einfach nicht auf den Kunden. Tun Sie dies niemals. Überprüfen Sie noch einmal alles auf dem Server.

Sollten wir es jetzt jemals benutzen?

Ja – damit der Benutzer sofort sieht, was nicht stimmt. Andernfalls musste er die Daten erst zurückschicken, was eine Weile dauern kann. Ganz nebenbei reduzieren Sie den Traffic zu Ihrem Server.

Es ist einfach intuitiver.

// BEARBEITEN: BTW: Die ASP.NET ValidationRules enthalten meines Wissens sowohl clientseitige als auch serverseitige Validierung.

Die Javascript-Validierung ist gut, weil sie eine bessere Benutzererfahrung bietet.

Sie sollten jedoch noch nie verlassen Sie sich darauf und sollten trotzdem auf dem Server validieren.

Wenn Sie Zeit sparen möchten, entscheiden Sie sich nur für 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 genannten Gründen niemals auf die clientseitige Validierung. Alle kritischen Validierungen sollten auf dem Server stattfinden … auch wenn sie auf dem Client dupliziert werden.

Benutzer-Avatar
Ramiz Uddin

JavaScript verbessert den Benutzer Interaktion für Ihr Produkt oder Ihre Dienstleistung. Die Benutzerinteraktion (Benutzereingabe und Maschinenreaktion oder umgekehrt) ist ein wesentliches Merkmal unserer Anwendungen. Wie wir alle erfahren haben, werden Produkte immer interaktiver als je zuvor. Und das Interaktion Teil kann (nur) in JavaScript erstellt werden (ActionScript zum Flash Player). Wir würden dem alle zustimmen – es gibt immer eine berechnete Menge an Arbeit, die auf die Clientseite (Maschine) übertragen werden kann, um Anrufe zu vermeiden, ohne sie zu stören, um sie an den/die Server zu senden. Es gibt viele, viele Anwendungen, die stark von Client-Script-Scripting abhängig sind. Und wenn sie feststellten, dass Sie das erforderliche Skripting nicht zulassen, haben sie darum gebeten, eine Nachricht zu hinterlassen noscript Schild. Aber ich denke, jeder möchte es aktiviert haben, da wir alle einen Tab mit Gmail, Facebook usw. starten.

Dies sollte jedoch nicht außer Acht gelassen werden, da wir jede einzelne Gelegenheit (Publikum/Kunde) ergreifen möchten und damit arbeiten ist zumindest besser als auseinanderzufallen. Es funktioniert noch!

Als Benutzer der Microsoft Development Platform gibt es eine bequeme Lösung .NET Plattform. Das erfordert keine doppelte Anstrengung bei solchen Fragen. Nutzen Sie dabei Ihre clientseitige Validierung Scripting ist deaktiviert durch die Nutzung Page.Validate() und Page.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.

  • +1 danke für die antwort, ich habe jetzt eine ziemlich viel bessere idee 🙂

    – Sarfraz

    22. November 2010 um 11:02 Uhr

Benutzer-Avatar
Rob Fonseca-Ensor

Bei der clientseitigen Validierung (Javascript) geht es um Benutzerfreundlichkeit, um nichts anderes. Wenn die Kosten für die Implementierung die wahrgenommene Verbesserung der Benutzerfreundlichkeit nicht wert sind, dann verbringen Sie nicht die Zeit damit. Heutzutage ist es jedoch ziemlich einfach zu tun!

Ich denke aber, dass Sie auf die serverseitige Validierung nicht verzichten können, da nur diese Ihnen Sicherheit bietet.

  • +1 danke für die antwort, ich habe jetzt eine ziemlich viel bessere idee 🙂

    – Sarfraz

    22. November 2010 um 11:02 Uhr

Benutzer-Avatar
Peter Mortensen

Die Verwendung von JavaScript ist nicht falsch. Wir benutzen es schon lange. Es wird zum Anwenden clientseitiger Validierungen verwendet.

Dennoch sollten wir eine serverseitige Validierung implementieren, damit a schlechter Typ wäre nicht in der Lage, die Anwendung zu unterbrechen.

1053720cookie-checkIst die JavaScript-Validierung schlecht?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy