Formular-Klasse

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

  • Formular-Klasse

    Hallo,

    man braucht so so häufig Formulare, will, dass diese bei einem Fehler mit dem ausgefüllt bleiben, was ein jmd eingegeben hat, und dass steht, warum es einen Fehler gab ...

    Deswegen möchte ich mal eine Formularklasse schreiben.

    Ich weiß nur nicht so richtig, wie ich das machen soll.

    Soll ich einfach methoden definieren, die bestimmte Inputs definieren und sagen, was da eingegeben werden muss, und ob es verpflichtend ist, oder soll ich das eher wie Templates machen.

    Also dass ich eine Methode habe, und dann z.b. sowas mache:

    $object->newInput($art, $name, $preValue, $optional, $regExp = '');

    also z.B.

    $object->newInput('text', 'email', '', false, '^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4}
    )$');



    Oder wie würdet Ihr sowas lösen?

    Danke!

  • #2
    man braucht so so häufig Formulare, will, dass diese bei einem Fehler mit dem ausgefüllt bleiben, was ein jmd eingegeben hat, und dass steht, warum es einen Fehler gab ...
    "so so"?
    "was ein jmd eingegeben hat"?

    Bitte nochmal auf Deutsch - hab keine Ahnung was du willst!

    Kommentar


    • #3
      ups

      eija man möchte doch häufig eine validierung der felder.
      dass man bestimmte eingaben machen muss, z.b. eine email adresse mit korrektem syntax etc

      und wenn ein user das nicht macht, dann will man, dass das formular mit seinen vorher ausgefüllten angaben wieder angezeigt wird + meldung, was er falsch gemacht hat


      hätte man aber sehr sicher beim 2. durchlesen bzw beim betrachten meiner beispiele sehen können

      Kommentar


      • #4
        Ich glaub', jetzt hab' ichs verstanden, also:

        Klassen zum validieren gibt es bereits:
        http://pear.php.net/package/Validate
        und speziell für "deutsche Daten" http://pear.php.net/package/Validate_DE

        Zum Wiederanzeigen der Benutzereingaben & Fehlerausgabe einfach folgendes schreiben:

        PHP-Code:
        <input type="text" value="<?php if(!empty($_POST['var'])) { echo $_POST['var']; } ?>">
        <?php
        if(isset($_POST['var'] && empty($_POST['var']))) {
         echo 
        "Dieses Feld darf nicht leer bleiben!";
        }
        ?>

        Kommentar


        • #5
          naja ich wills wenn schon selbst coden
          deswegen braucht mir niemand mit PEAR kommen ...
          dann hätt ich auch mit scriptgesucht kommn können ...

          Kommentar


          • #6
            ich habe das so gelöst:
            Ich habe eine Template Klasse geschrieben die Anweisungen wie:
            {error('wrong_mail')="Falsche Emailadresse angegeben!"}
            benutzen kann. Also Text und name der fehlernachricht sind variabel.

            Wenn ich jetzt in meiner PHP-Datei:
            $tpl->error("wrong_mail");
            aufrufe, wird die Fehlernachricht an gegebener Stelle ausgegeben, wird sie nicht aufgerufen, löscht die TemplateKlasse die Anweisung aus dem HTML code raus.

            So ist es möglich auch verschiedene Nachrichten für ein Feld einzustellen. Die Trennung von Code und Design bleibt gewahrt...

            Die letzendliche überprüfung findet dann mit einfachen funktionen statt.
            z.B.:
            PHP-Code:
            if (empty($_POST['mail'] {
                
            $tpl->error('no_mail');
            }
            elseif(!
            check_mail_syntax($_POST['mail'])) {
                
            $tpl->error('wrong_mail');

            kA ob dir das irgendwie hilft.

            Kommentar

            Lädt...
            X