beatovich: wiki formulare Attribut pattern

problematische Seite

hallo

Im Wiki gibt's zum Attribut pattern ein Beispiel https://wiki.selfhtml.org/wiki/HTML/Formulare/Validierung_von_Formularen

In den Beispielen werden in pattern die Anker verwendet, also so: pattern="^pattern$"

In der Doku wird aber gesagt dass diese Anker inherent vorhanden sind, also nicht notiert werden müssen. Ein Versuch im Frickl auf Firefox hat dies bestätigt.

PS: Ich kann im Beispiel ein geburtsdatum vom 1.1.1800 angeben nicht aber von 1.1.1799. Hat das irgend eine Bewandtnis?

  1. problematische Seite

    Hallo beatovich,

    PS: Ich kann im Beispiel ein geburtsdatum vom 1.1.1800 angeben nicht aber von 1.1.1799. Hat das irgend eine Bewandtnis?

    Keine. Das pattern ist so gewählt. Es lebt heute niemand mehr, der 17xx geboren wurde. 18xx aber schon.

    Bis demnächst
    Matthias

    --
    Rosen sind rot.
    1. problematische Seite

      hallo

      PS: Ich kann im Beispiel ein geburtsdatum vom 1.1.1800 angeben nicht aber von 1.1.1799. Hat das irgend eine Bewandtnis?

      Keine. Das pattern ist so gewählt. Es lebt heute niemand mehr, der 17xx geboren wurde. 18xx aber schon.

      Aber pränatale Useraccounts werden akzeptiert 😉

      1. problematische Seite

        Hallo beatovich,

        Keine. Das pattern ist so gewählt. Es lebt heute niemand mehr, der 17xx geboren wurde. 18xx aber schon.

        Aber pränatale Useraccounts werden akzeptiert 😉

        Ja, eine solche Prüfung kann ein regulärer Ausdruck auch nicht leisten, aber das brauch ich dir ja nicht zu erklären.

        Bis demnächst
        Matthias

        --
        Rosen sind rot.
        1. problematische Seite

          hallo

          Ja, eine solche Prüfung kann ein regulärer Ausdruck auch nicht leisten, aber das brauch ich dir ja nicht zu erklären.

          Also sollte ein pattern für Datumangaben (solange Browser den type="date" nicht unterstützen) eigentlich möglichst liberal sein

          pattern = "\d{1,4}[./-](\d{1,4}[./-]|\s?\S+\s?)\d{1,4}"

          etwas anschaulicher dargestellt:

             \d{1,2}[./-]     #Tag
          
             (
              \d{1,2}[./-]   #Monatszahl
             |               #oder
              \s?\S+\s?      #Monatsname, optional Whitespace
             )
             \d{2} \d{2}?    #Jahr 2 oder 4-stellig
          
          

          Falls dann noch Javascript verfügbar ist, kann man dem Pattern ja aufgrund des aktuellen Datums ein genaueres Pattern setzen, oder die Eingabe validieren.