Auge: HTML 1 Formular für EDIT und CREATE

Beitrag lesen

Hallo

… Zudem verhindert solch frühzeitiges Maskieren, dass die Daten noch anderweitig verarbeitet werden können. Bei Validierungen, die zwei oder mehr Felder umfassen ist sowas zum Beispiel sehr ungünstig. Die Validierung findet üblicherweise erst nach der Prüfung auf Inhalt statt.

Ich kann mir für den Fall des Lesens eines Datensatzes zur Ausgabe in einem Formular zwar keinen Fall einer nötigen Validierung vorstellen, aber sei's drum.

Create mit leeren Feldern und Edit eines Datensatzes aus dem DBMS sind nur zwei Fälle für das Formular. Wiedervorlage der eben getätigten Eingaben (egal ob bei Create oder Edit) im Falle eines Eingabefehlers ist ein weiterer Fall, für den das Formular gerendert werden muss.

Natürlich, aber den Fall habe ich in meinem Beispiel nicht berücksichtigt.

Eine Validierung erwarte ich bei der Überprüfung einer Eingabe, also nach dem absenden eines wie auch immer ausgefüllten Formulars.

Genau. Dann ist die Datenquelle nicht das DBMS sondern $_POST/$_GET. Damit hast du neben den Create_leer- und Edit_DBMS-Fällen noch eine weitere Stelle, wo du htmlspecialchars()-Aufrufe unterbringen musst, bevor du die Daten dem Formular zuführst.

Natürlich, aber den Fall habe ich in meinem Beispiel nicht berücksichtigt.

Ich hatte den Fall Wiedervorlage im Affenformular zwar schon im Hinterkopf, habe mich aber dagegen entschieden, den hier auch noch einzuführen. Der zusätzliche Fall fügte dem Beispiel zusätzliche Komplexität hinzu, die ich eher hinderlich emfände. Zudem bin ich mir nicht sicher, ob das in PHP-Neulings Fall zutrifft (habe seine anderen Threads nicht in Gänze verfolgt).

Mein Beispielcode ist zudem auch kein vollständiges Beispiel. Eine eventuell dennoch nötige Validierung könnte auch zwischen dem Auslesen des Datensatzes aus der Datenbank und dem Befüllen des Arrays mit den möglichen Werten der name-Attribute stattgefunden haben, also in einem Codeabschnitt, der nicht Teil des Beispiels ist.

Dann wäre die htmlspecialchars()-Einfügung sozusagen zwischen Datenbeschaffung/-validierung und Formularausgabe. Also ein zusätzlicher Schritt, der wegfallen kann, wenn man es gleich bei der Ausgabe unterbringt.

Der Schritt ist nicht ein zusätzlicher, denn er muss so oder so gegangen werden. Es ist aber eine zusätzliche Codestelle, zu der man bei Codeüberprüfungen hinspringen muss (je nach Umfang des Codes kann das lästig sein), das wohl. Ja, mit der Unterbringung „bei der Ausgabe“ ist alles an einer Stelle, was zusammen gehört.

Tschö, Auge

--
Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
Hohle Köpfe von Terry Pratchett