Lude: Form-Validator

Hi,

benötige einen bereits clientseitig prüfenden Form-Validator der vor dem Senden von Daten prüft, ob die input-Felder entsprechend gefüllt sind. Also eine JS-Function.

Ich stelle mir vor, dass der id-Eigenschaft einzelner input-Felder z.B. Werte wie "DATUM"(muss gültiges Datum sein) oder ML2(Mindestlänge 2 Zeichen) oder NUM(nur numerische Werte erlaubt) oder NUM_DEC(numerische Werte mit Dezimalstellen zugelassen) zugewiesen werden.

Dann durchsucht die Funktion das HTML-Dokument und liefert einen Leerstring oder eine Meldung "Feld xyz nicht numerisch gefüllt \n Feld xyz2 kein Datumswert \n Feld xyz unterschreitet Mindestlänge 2..." zurück.

Beim Leesrstring wird submitted, ansonsten der Benutzer alerted.

Da ich zu faul bin das selbst zu schreiben, bitte ich um Code oder einen Verweis auf diesen. - Das wurde natürlich schon alles geschrieben.

Gruss,
Lude

  1. Hi,

    Da ich zu faul bin das selbst zu schreiben, bitte ich um Code oder einen Verweis auf diesen. - Das wurde natürlich schon alles geschrieben.

    <img src="/images/01.gif" width=419 height=119 border=0 alt="Für dein Problem gibt es nur eine Lösung: SELFmade von Selbermachen.">
    <img src="/images/04.gif" width=428 height=119 border=0 alt="Schau mal in SELFHTML nach, um eine Antwort auf deine Frage zu finden!">

    $xNeTworKx.

    1. Hi,

      Da ich zu faul bin das selbst zu schreiben, bitte ich um Code oder einen Verweis auf diesen. - Das wurde natürlich schon alles geschrieben.

      <img src="/images/01.gif" width=419 height=119 border=0 alt="Für dein Problem gibt es nur eine Lösung: SELFmade von Selbermachen.">
      <img src="/images/04.gif" width=428 height=119 border=0 alt="Schau mal in SELFHTML nach, um eine Antwort auf deine Frage zu finden!">

      $xNeTworKx.

      Hi,

      ich benötige kein "Mach's doch selber" und keinen Code wie

      /************************************************************/
      if(document.Formular.User.value == "")  {
         alert("Bitte Ihren Namen eingeben!");
         document.Formular.User.focus();
         return false;
        }
      /* SELFHTML */
      /************************************************************/

      sondern eher etwas wie

      /************************************************************/
      function chkFrm()
        {
        // das gibt die Funktion zurueck
        var ReturnValue = "";
        // schnappt sich alle HTML-Input-Elemente des Dokuments
        for(i=0;i<document.getElementsByTagName("input").length;++i)
          {
          // schnappt sich alle HTML-Input-Elemente des Typs "text"
          if (document.getElementsByTagName("input")[i].type == "text" |
              document.getElementsByTagName("input")[i].type == "password")
            {
            // prueft, ob ...
            if (document.getElementsByTagName("input")[i].id == "ZAHL")
              {
              // prueft...
              if (document.getElementsByTagName("input")[i].value == "" ||
                  isNaN(document.getElementsByTagName("input")[i].value)
      == true)
                {
                ReturnValue = ReturnValue +
                              "Fehleingabe "" +
               document.getElementsByTagName("input")[i].name +
               "" (kein numerischer Wert)\n";
         }
      /* ... */
      /************************************************************/

      Ich glaube übrigens nicht, dass ich Deine Messageboxen und das, ja ich nenne es einfach mal Stören dieses Threads verdient habe.

      Gruss,
      Lude

      1. hallo lude

        sondern eher etwas wie

        /************************************************************/
        function chkFrm()
          {
          // das gibt die Funktion zurueck
          var ReturnValue = "";
          // schnappt sich alle HTML-Input-Elemente des Dokuments
          for(i=0;i<document.getElementsByTagName("input").length;++i)
            {
            // schnappt sich alle HTML-Input-Elemente des Typs "text"
            if (document.getElementsByTagName("input")[i].type == "text" |
                document.getElementsByTagName("input")[i].type == "password")
              {
              // prueft, ob ...
              if (document.getElementsByTagName("input")[i].id == "ZAHL")
                {
                // prueft...
                if (document.getElementsByTagName("input")[i].value == "" ||
                    isNaN(document.getElementsByTagName("input")[i].value)
        == true)
                  {
                  ReturnValue = ReturnValue +
                                "Fehleingabe "" +
                 document.getElementsByTagName("input")[i].name +
                 "" (kein numerischer Wert)\n";
           }
        /* ... */
        /************************************************************/

        Das sieht doch schon sehr vielversprechend aus.
        Wo genau liegt jetzt dein Problem?
        Wir helfen dir gerne bei einer konkreten Fragestellung!

        Ich glaube übrigens nicht, dass ich Deine Messageboxen und das, ja ich nenne es einfach mal Stören dieses Threads verdient habe.

        Ich zitiere dich nochmals aus deinem 1. Posting:

        Da ich zu faul bin das selbst zu schreiben, bitte ich um Code oder einen Verweis auf diesen. - Das wurde natürlich schon alles geschrieben.

        Dieser Absatz rechtfertigt $xNeTworKxs Antwort!

        Wie gesagt, konkretisiere dein Problem und dir wird geholfen.

        Grüsse
        Siramon,
             ja der penner aus nr. 14

        1. Hi,

          ganz einfache Frage, Leute!
          Gibt es eine bekannte JavaScript-Funktion, die ein HTML-Dokument durchläuft und für ein bestimmtes als Argument übergebenes Formular eine Validierung durchführt?

          (Diese Validierung könnte zum Besipiel auf der Auswertung der Werte der ID-Eigenschaft der einzelnen input-Elemente des Formulars(form-Elements) basieren und eine Zeichnekette zurückgeben, die z.B. so ausgewertet werden kann, dass bei Zeichenkettenfolge der Länge 0 ein submit des Formulras, ansonsten eine alert-Meldung durchgeführt wird.
          Nur konstruktive Antworten erbeten; kein "machs doch selber!" und Kritik an meiner "Faulheit" mehr.)

          Gruesse,
          Luddie

          1. Moin!

            ganz einfache Frage, Leute!
            Gibt es eine bekannte JavaScript-Funktion, die ein HTML-Dokument durchläuft und für ein bestimmtes als Argument übergebenes Formular eine Validierung durchführt?

            Ja, die gibts. Die hab ich unlängst selbst geschrieben, weil ich einen simplen Validator brauchte. Allerdings bin ich derzeit auch faul - du darfst dir den Code aus der am Montag relaunchten Seite der IVG rauskramen: http://www.ivg.de. Formulare gibts da jedenfalls reichlich, du mußt nur suchen.

            Das Gegenstück in PHP ist übrigens noch nicht fertig. ;-> Wenn es soweit ist, wird für beides zusammen mindestens ein Tipps&Tricks-Artikel draus.

            Ach ja: Bitte keine Kritik an meiner Mailadressenüberprüfung...

            Und die kurze Featureliste: Prüft auf Pflichtfeld (darf nicht leer sein), numerisches Feld (muss Integer-Wert enthalten) oder Mailfeld (muss mailadressenartigen Inhalt enthalten), oder eine Kombination aus den drei Eigenschaften (wobei nicht sinnvolle Kombinationen wie "Zahlfeld" und "Mailfeld" gleichzeitig bitte manuell abzufangen sind). Select-Felder, Radiobuttons und Checkboxen können noch nicht zu Pflichtfeldern gemacht werden - das wäre dann deine Aufgabe. Schicke deine fertige Erweiterung dann bitte an meine Firmen-Mailadresse: mailto:sven.rautenberg@rb3m.com. Wäre toll, wenn du das noch diese Woche hinkriegst. Vielen Dank!

            - Sven Rautenberg