Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Validierung unabhängig vom Framework

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #61
    Ich habe keine Validator und Einzelne eigenschaften werden nur in seltenen fällen validiert.. i.d.r muss man ein datensatz validieren
    Bei mir ist eigentlich der umgekehrte Fall die Regel. Dauernd müssen Usereingaben aus allem möglichen Formularen validiert werden, Datensätze hingegen kommen in der Regel aus der DB und müssen nicht mehr validiert werden, da die Werte vorm Speichern bereits geprüft wurden.

    ... zb bei der Userregistrierung man zb ein häckchen setzen muss wie "ich bin mit den agbs einverstanden" beim bearbeiten des accounts, musste es nicht machen also soll man es nicht validieren .. du kommst nicht drumherum, teilweise doppelten code zu haben

    Ja sicherlich kommt man nicht immer drum herum etws code zu duplizieren , aber irgendwo muss man doch auch eine Grenze ziehen können. Wenn das hier

    PHP-Code:
    // Registriereung
    $validator = new FormValidator($inputDataUserModelRules::getRules('userName''email''agb'));
    $validator ->isValid();

    // UserAccount
    $validator = new FormValidator($inputDataUserModelRules::getRules('userName''email'));
    $validator ->isValid(); 
    schon zu viel Code bedeutet, dann können wir genauso gut auch jeden Setter und Getter in eine eigene Klassen verpacken.

    ...dann static Rules in einem Array an einen Validator verfüttern..
    Ich lade die Rules mit einer statischen Methode, weil sie keinen Zustand haben. Ein Objekt brauche ich hier nicht. Ich kann die aber auch anders laden:

    $rules = require 'UserModelRules.php'

    oder so

    $validator = new FormValidator($inputData, 'path/UserModelRules.php');

    ist letztendlich nur ein Implementierungsdetail und vielleicht auch Geschmacksache.


    der grund, wieso ich da ein extra validator habe, ist dass ich eine stelle anbieten muss, wo man zentral und unabhängig seinen eigenen validator anhängt und daten validiert, weil, solche validierungen dürfen ja nicht in den Actions vorkommen, die action sollte im idealfall einen Interactor aufrufen mehr nicht..
    Ich denke genau das ist das Hauptproblem. Du versuchst (vielleicht auch unbewußt) jeden Validierungsansatz irgendwie in Deine bestehende „Clean Code Architektur“ zu quetschen. Ist Dein Clean Code wirklich so clean, was wenn nicht?

    vg
    jack
    -

    Kommentar


    • #62
      ich versuch es nur deshalb, weil es notwendig ist, aber keine genauen spefizierungen da sind.. habe sogar beiträge gesehen, bei denen im Request validiert und gefiltert wird, also es wird empfohlen das im Request zu machen.. da frage ich mich dann, wie die das regeln mit zusatzvalidierungen die nur die datenbank bzw das Repository betrifft(zb doppelte usernamen) oder wie die es machen mit daten die nur das formular betrifft(zb passwort bestätigung, agb akzeptieren)

      für diese Problematik, gibt es kein konkreten weg und auch keine referenz an die man sich halten kann .. ich versuche halt einen akzeptablen weg zu ermitteln.. und das ganze auch so gestalten, dass ich es bei bedarf schnell mal eben wegmachen kann..
      apt-get install npm -> npm install -g bower -> bower install <package> YOLO [URL]https://www.paypal.me/BlackScorp[/URL] | Mein Youtube PHP Kanal: [url]https://www.youtube.com/c/VitalijMik[/url]

      Kommentar


      • #63
        da frage ich mich dann, wie die das regeln mit zusatzvalidierungen die nur die datenbank bzw das Repository betrifft(zb doppelte usernamen) oder wie die es machen mit daten die nur das formular betrifft(zb passwort bestätigung, agb akzeptieren)
        Sollte alles was irgendwie geprüft werden muss im Zuständigkeitsbereich eines Validators liegen?

        Wie wäre es damit:

        - doppelte usernamen sind nicht zulässig (Business Logic)

        - passwort (mindestens 8 Zeichen, keine Sonderzeichen => Validator)

        - passwort/agbs bestätigen / (strenggenommen Ablauf-Logik / Kontrollfluss-Logik der Anwendung)

        vg
        jack
        -

        Kommentar

        Lädt...
        X