Zum Inhalt springen

TMailform und Validierung von Pflichtfeldern

Erstellt am 4. Mai 2006 · 3 Antworten · letzte Antwort am 18. Mai 2006

Tags: Frage

kanticus ·

Hallo an alle Nutzer von TMailform,

habe gerade diese Extension in meine Website eingebaut und finde sie echt prima. Sie hat genau die Funktionalität, die ich für Formulare brauche.

Mit einer kleinen Sache komme ich aber noch nicht klar.

Die Extension bietet die Möglichkeit, über ein SELECT-Feld unterschiedliche Empfägner der Formulardaten auszuwählen. Sinnigerweise sollte man dieses Feld daher zu einem Pflichtfeld machen und einer Validierung unterziehen, denn gerade die Verteilung der Mails sollte zuverlässig erfolgen. Und hier beginnt mein Problem.

Laut Doku kann man das Select-Feld dadurch unübergehbar machen, dass man den obersten Eintrag ohne Semikolon und Empfänger-Mail-Adresse einträgt, z.B. Bitte wählen Sie .... Soweit geht alles glatt.

Laut Doku stehen folgende Validierungen zur Verfügung:

method can be one of notEmpty (no expression applies),
inList (expression: comma separated list of strings, eg. “str1, strN”)
or regex (expression: perl regular expression, eg. (“/^test.*/”).

notEmpty scheidet aus, da das select-Feld keinen Leereintrag zulässt (oder?)

inList scheint mir hier der Kandidat zu sein, der die Validierung erledigen sollte.

Meine Zeile:

multi_recipient; inList: Consulting, Kundendienst, Verwaltung; text: Sie haben vergessen, eine Empfängerstelle auszuwählen.

bringt leider keine Fehlermeldung zustande, wenn das Feld auf Bitte wählen Sie ... verbleibt.

Mache ich etwas bei der Syntax falsch?

ist inList für diese Validierung ungeeignet.

Wäre für einen Tipp sehr dankbar

Gruß

kanticus

kanticus ·

Ich setze typo3 4.0 ein. Tmailform in der Version 2.0.2. Ist die Typo3 Version dafür relevant?

Gruß

kanticus

kanticus ·

Für alle, die Interesse dan diesem Thema haben.

Inzwischen hat sich die Sache mit der Validierung eines select-Feldes für mich geklärt. Die Version 2.0.2 war einfach verwanzt in diesem Punkt. Die vor kurzem erschienene 2.0.3 behebt diesen Fehler und jetzt klappt alles wunderbar.

Heißt:

Zu Validierung setzt man die noEmpty-Methode in der Synthax:

feldname; notEmpty; text: Text der Fehlermeldung

Der erste Eintrag des select-Feldes muss einfach nur ohne Wert bleiben (Elementbezeichnung ohne Wertangabe). Die weiteren enthalten dann die zur Auswahl anzubietenden Punkte. Da noEmpty auf den Wert und nicht die Elementbezeichnung abziehlt, klappt die Valiederung.

Angewandt auf multi_recipient und dynamische Empfänger-Validierung heißt das in Beispielform:

Bitte wählen Sie ...(Leerwert ohne Adresse)
Anzeigetext für Selectfeld;E-Mail-Adresse

und Validierung nach dem Muster oben.

Was es genauer mit inList auf sich hat, habe ich noch nicht herausbekommen können.

Gruß

kanticus