Olga: Pflichtfelder im Formular

Hi,

ich hab da mal so eine Frage:

Ich habe ein Formular auf einer Webseite erstellt und möchte das bestimmte Felder ausgefüllt sein müssen damit man es verschicken kann. Naja sone Art Pflichtfelder.

Wie geht das?

Liebe Grüße
Olga

  1. Hallo,

    überprüfe vor (mittels JavaScript) oder nach (mittels serverseitiger Programmiersprache, z.b. PHP oder ASP.net oder Perl) dem Absenden des Formulars ob die gewünschten Felder einen Wert haben und ggf dieser Wert auch Sinn macht, zum Bleistift das Telefonnummern ein gültiges Format haben.

    Einfachsterweise kannst du natürlich auch einfach vor oder hinter jedes Feld ein rotes * machen und hoffen, dass der Benutzer das ernst nimmt.

    Gruss
    Frank

    1. Hi,

      überprüfe vor (mittels JavaScript) oder nach (mittels serverseitiger Programmiersprache, z.b. PHP oder ASP.net oder Perl) dem Absenden des Formulars ob die gewünschten Felder einen Wert haben und ggf dieser Wert auch Sinn macht, zum Bleistift das Telefonnummern ein gültiges Format haben.

      Das Überprüfen vor dem Absenden ist unzuverlässig, da es auch vorkommen kann, dass der Besucher JS deaktiviert hat. Ein serverseitiger Check (also nach dem Absenden) ist unverzichtbar, wenn man die Formulareingaben sicher verarbeiten will.
      JS kann man natürlich zusätzlich verwenden, um dem Benutzer mehr Komfort zu bieten.

      mfG,
      steckl

      1. Hi,

        überprüfe vor (mittels JavaScript) oder nach (mittels serverseitiger Programmiersprache, z.b. PHP oder ASP.net oder Perl) dem Absenden des Formulars ob die gewünschten Felder einen Wert haben und ggf dieser Wert auch Sinn macht, zum Bleistift das Telefonnummern ein gültiges Format haben.

        Das Überprüfen vor dem Absenden ist unzuverlässig, da es auch vorkommen kann, dass der Besucher JS deaktiviert hat. Ein serverseitiger Check (also nach dem Absenden) ist unverzichtbar, wenn man die Formulareingaben sicher verarbeiten will.
        JS kann man natürlich zusätzlich verwenden, um dem Benutzer mehr Komfort zu bieten.

        Hmmm okay jetzt mehrere Antwoeten aber bin nicht wirklich schlauer draus geworden..... vielleicht hab ich die frage falsch gestellt?

        es gint doch so formulare:
        wenn ich da eine Pflichtspalte nicht ausgefüllt habe und auf "senden" drücke, kommt eine fehlermeldung in der steht z.B.: bitte überprüfen Sie die Vollständigkeit Ihrer Eingaben. Ihre Telefonummer Fehlt

        naja oder so in der Art.
        Das muss doch irgendwie möglich sein das ich das auch hin kriege????

        Olga

        1. es gint doch so formulare:
          wenn ich da eine Pflichtspalte nicht ausgefüllt habe und auf "senden" drücke, kommt eine fehlermeldung in der steht z.B.: bitte überprüfen Sie die Vollständigkeit Ihrer Eingaben. Ihre Telefonummer Fehlt

          naja oder so in der Art.
          Das muss doch irgendwie möglich sein das ich das auch hin kriege????

          Ja. Genau so, wie es dir geraten wurde - per PHP/Perl/ASP oder JavaScript. HTML an sich ist "dumm" und kann sowas nicht von alleine. Du wirst um echte Programmierung nicht herumkommen.

          Gruß, Christian

        2. Hi,

          Hmmm okay jetzt mehrere Antwoeten aber bin nicht wirklich schlauer draus geworden..... vielleicht hab ich die frage falsch gestellt?

          Um dir helfen zu können wäre es gut zu wissen, welche Programmiersprache du verwenden willst, um die Formulardaten auszuwerten.

          mfG,
          steckl

    2. Hello,

      überprüfe vor (mittels JavaScript) oder nach (mittels serverseitiger Programmiersprache, z.b. PHP oder ASP.net oder Perl) dem Absenden des Formulars ob die gewünschten Felder einen Wert haben und ggf dieser Wert auch Sinn macht, zum Bleistift das Telefonnummern ein gültiges Format haben.

      z.B. "0700VERIVOX"

      Harzliche Grüße vom Berg
      http://bergpost.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

      1. Hi,

        [...] zum Bleistift das Telefonnummern ein gültiges Format haben.
        z.B. "0700VERIVOX"

        da würde ich jetzt aber noch ein Trennzeichen nach der Funktionsvorwahl einfordern, also etwa "0700-VERIVOX". Ein Leerzeichen oder ein '/' wäre auch akzeptabel.

        Ciao,
         Martin

        --
        Alkohl ist ungesund,
        Rauchen ist schädlich,
        Sex ist unanständig
        - und die Erde ist eine flache Scheibe.
        1. Hello,

          [...] zum Bleistift das Telefonnummern ein gültiges Format haben.
          z.B. "0700VERIVOX"

          da würde ich jetzt aber noch ein Trennzeichen nach der Funktionsvorwahl einfordern, also etwa "0700-VERIVOX". Ein Leerzeichen oder ein '/' wäre auch akzeptabel.

          Isch 'abe aber gar kein Bindestrisch auf mein Tastatur...

          Harzliche Grüße vom Berg
          http://bergpost.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

  2. Hello,

    Wie geht das?

    Um mal ein wenig weiter auszuholen:

    Deine Formulare enthalten Dialogelemente, wie z.B. Textfelder oder auch Submit-Buttons.
    Diese Felder haben verschiedene Eigenschaften
     - einen HTML-Typus
     - eine Darstellungsfarbe
     - eine Darstellungsposition
     - eine Darstellungsbreite
     - eine Darstellungshöhe
     - Eigenschaft beschreibbar
     - Eigenschaft ausgegraut
     - einen Ziel-Datentyp (Der Datentyp bei der Übertragung ist immer String)
     - einfache Validierung (Duty-Field)
     - ausführliche Validierungsregel (Plausibilitätskontrolle)
     - eine Datenbindung mit einem Spaltenwert einer Tabelle
     - eine Verarbeitungsregel
     - einen Defaultwert für die Response
     - einen Feldwert beim Request
     - einen z.Zt. gültigen Datenwert in der Session

    und eventuell noch mehr

    Die Abarbeitung diese Tabelle könntest Du automatisieren.
    Die Vorgehensweise ist für bestimmte HTML-Input-Typen immer wieder dieselbe
    Dann müsstest Du in Deinem von Dir selbst geschriebenen Formulargnerator nur noch "Duty-Field" ankreuzen und schon würde die von ihm geschriebene Auswerteroutine einen passenden Fehlerwert werfen, wenn das Feld keinen Inhalt hat.

    Im Prinzip musst Du Dir also erstmal den Ablauf klar machen, der beim Dialog auftreten kann. Mach Dir kleine Kärtchen in zwei Farben (eine für die Serverseite, eine für die Clientseite) und vermerke darauf das Erscheinungsbild bzw. die Verarbeitungsschritte. So kommst Du schnell darauf, wie man eine Formularverwaltung aufbauen kann.

    Harzliche Grüße vom Berg
    http://bergpost.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

    1. Vielen Dank

      ich glaube das schaffe ich :-D

      1. Hello,

        ich glaube das schaffe ich :-D

        Ich wollte Dich damit auch nicht erschrecken.
        Du solltest nur sehen, dass es schon ein größres Ganzes geben könnte, das sich lohnen würde, entwickelt zu werden. Viele der heutigen CMS berücksichtigen nur einen Bruchteil davon.

        Wenn Du nun also anfängst, Datenstrukturen und Verarbeitungsschritte zu entwickeln, wenn auch nur  für eine Teillösung des Ganzen, so lohn es sich bestimmt, die so zu bauen, dass Sie mal zum Ganzen werden kann.

        Also immer ein Stück vom Ganzen
        eine Lücke lassen für Nachbesserungen, die noch nicht automatisch gehen
        Wieder ein Stück vom Ganzen
        usw.

        Wenn die manuelle nachzubessernden Passagen dann mal auf Null geschrumpft sind, ist Dein System komplett. Ein Gutes Beispiel dafür, was und wie man am Anfang etwas weglassen kann, ist die Entwicklung der Datenbanksoftware MySQL.
        Allerdings muss man das Ganze auch so transparent halten, dass die Anwender beim nächsten großen Schritt noch mithalten können. Viele komplexe Programmiersprachen sind so "proprietär" aufgebaut, dass man lange braucht, um sich in die (Objekt)Modelle und (-)Hierarchien hineinzudenken.

        Kleine Schritte wären also:

        HTML-Formulare bauen manuell
            Elementtypen kennenlernen
            Dialogelemente geneu untersuchen, alle Attribute ausprobieren

        Funktionen scheiben, die HTML-Formulare bauen können
            Tabellen
            Dialogelemente ohne Default
            Dialogelemente mit Default

        und das Gnaze dann auch rückwärts.

        Datenübernahme
          Datenkontrolle grob = Vergleich  der erwarteten und der erhaltenen Datencontainer
          Datenauswertung
          Steuerflusskontrolle

        usw.

        Mach es mal nur für ein klitzekleines Form.
        Wenn das ein textfeld, ein Filefeld, eine Checkbox, ein radiobutton und eine textarea enthält, reicht das für den Anfang, ist eigentlich schon Schritt 2, denn Fileupload hat schon wieder eigene  Tücken

        Versuche damit ein "Affenformular" aufzubauen, also eines, dass dem User die Daten solange wieder im Formular vorlegt, bis die erwarteten Werte (die kannst Du zum Testen hardcoden) in den Elementen stehen.

        Und damit versuche immer wieder, eine Lücke zu finden, Deine eigenen Sicherheitsmaßnahmen also auszutricksen. Beispiele sind Häkchen und Zeilenumbrüche im Textfeld, Leerzeichen, Zeilenumbrüche und Häkchen in den Textfeldern, usw.

        Versuche auch, das Formular zu fälschen und schau Dir an, was dann geschieht, also nicht das vom Server bezogene zurückzusenden, sondern eines, das Du auf Deinem Client verändert hast.

        Wenn Du dranbleibst, könnte das ein spannender Thread werden.

        Harzliche Grüße vom Berg
        http://bergpost.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

  3. echo $begrüßung;

    Ich habe ein Formular auf einer Webseite erstellt und möchte das bestimmte Felder ausgefüllt sein müssen damit man es verschicken kann. Naja sone Art Pflichtfelder.
    Wie geht das?

    Kurz und knapp: beispielweise mit der Affenformulartechnik. Du kannst sowieso nur auf dem Server zuverlässig prüfen, ob eine Pflichtangabe vorhanden ist, also wirfst du das Formular dem Aff.. ähm Anwender so lange wieder vor die Füße, bis er das nach deinen Wünschen gefüllt hat.

    echo "$verabschiedung $name";

    1. Hallo,

      Kurz und knapp: beispielweise mit der Affenformulartechnik. [...] bis er das nach deinen Wünschen gefüllt hat.

      ... oder endlich entnervt aufgibt. ;-)

      So long,
       Martin

      PS: Nein, das war nicht als Kritik gemeint. Oder höchstens als Kritik an Autoren, die Informationen zu Pflichtangaben erklären, die mit dem Zweck des Formulars nichts zu tun haben (z.B. Telefonnummer beim Bestellen eines Zeitschriften-Abos).

      --
      Lebensmotto der Egoisten:
      Was ist so schlimm daran, dass jeder nur an sich selbst denkt? Dann ist doch an alle gedacht!
      1. echo $begrüßung;

        PS: Nein, das war nicht als Kritik gemeint. Oder höchstens als Kritik an Autoren, die Informationen zu Pflichtangaben erklären, die mit dem Zweck des Formulars nichts zu tun haben (z.B. Telefonnummer beim Bestellen eines Zeitschriften-Abos).

        Solche Formulare geben sich meist mit Angaben wie 0815-4711 zufrieden.

        echo "$verabschiedung $name";

        1. Hallo,

          (z.B. Telefonnummer beim Bestellen eines Zeitschriften-Abos).
          Solche Formulare geben sich meist mit Angaben wie 0815-4711 zufrieden.

          ja, oft ist das so. Ich gebe in solchen Fällen eher die Nummer 01188 oder 11833 an.

          Ciao,
           Martin

          --
          Ja, ja ... E.T. wusste schon, warum er wieder nach Hause wollte.
          1. Mahlzeit,

            ja, oft ist das so. Ich gebe in solchen Fällen eher die Nummer 01188 oder 11833 an.

            Ich eher meine 0900-Nummer (die auf eine bestimmte, sonst niemandem bekannte Rufnummer umgeleitet ist) ... entweder sie rufen an (dann freue ich mich über das Geld - oder ich kann's dann immer noch ignorieren) oder sie lassen's (dann freue ich mich auch). ;-)

            MfG,
            EKKi