Zum Inhalt springen

neue form-extension - error messages verschieben

Erstellt am 2. Dezember 2011 · 7 Antworten · letzte Antwort am 13. November 2014

Tags: Frage

ralphle ·

Hallo,
erst mal danke an das Forum, mit Eurer Hilfe hab ich den neuen Mail-Form zum rennen gebracht.
Ein kleines Problem habe ich noch:
Wie kann ich die Error-Messages aus den Labels raus nehmen? Die hätte ich gerne woanders.
Weiss jemand einen Rat?
Grüße Ralph

ralphle ·

So, Handbuch ist etwas gewöhnungsbedürftig bei der Form-Extension: aber ich habs gelöst:

Dieses Code-Schnippsel nimmt die Error-Messages aus den Labels raus und setzt diese hinter das form-field (input, textaere etc...).
Einfach vor das postProcess-Tag in der Konfiguration des form-Content-Elements einsetzen.
Ausserdem umschließt es die Fehlermeldungen mit einer neuen span-Klasse.
Wems hilft...

...
layout {
    label = <label><labelvalue /></label>
    elementWrap = <li><element /><mandatory /><error /></li>
    error = <span class="error"><errorvalue /></span>
}
postProcess { 
...

Grüße

ralphle ·

kleiner Nachtrag.
beim Absenden des Formulars generiert der Eintrag:

label = <label><labelvalue /></label>

eine Fehlermeldung beim Abschikcen des Formulars.
Stattdessen habe ich das Layout in die einzelen form-Elemnte verschoben, dann gehts.

20 = TEXTLINE
 20 {
   name = name
   label = Name, Vorname
   layout {
           label = <label><labelvalue /></label>
    }
}

Grüße

AnnaM ·

Hallo,

danke für den Tipp!

Ich habe allerdings ein Problem damit: wenn ich das Layout des Formulars ändere, ist das Layout der HTML-Mail, die verschickt wird, so defekt, dass die Mail nicht mehr gelesen werden kann. Hast du dafür eine Lösung?

(BTW, am liebsten würde ich eine Plain-Text-Mail verschicken - weißt du, wie man das konfiguriert?)

Gruß,
Anna

flinguin ·

hallo,

habt ihr für das problem mit den html-mails vielleicht eine lösung gefunden ?
das sieht bei mir ziemlich fürchterlich aus.

lg martin

KingDumah ·

Auch wenn der Post schon etwas älter ist, hier eine Möglichkeit für künftige Suchende

Im Form-Element das Layout bearbeiten und Label, Error und Input selbst anordnen.

    10 = TEXTLINE
    10 {
        name = name
        label {
            value = Name:*
        }
        layout (
		<label/>
                <error/>
		<input/>
	)
    }

Der Error ist Standartmäßig in einem strong-Tag. Falls das jemanden stört, kann man ganz unten wie ralphle geschrieben hat den Error allgemein bearbeiten. Dies Verändert aber nur den Tag in dem er sich befindet, nicht die Position.

layout {
    error = <span class="dk-form-error"><errorvalue /></span>
}

Auf diese Weise wird nur der Error verändert, was keine Auswirkung auf die E-Mail hat. Der Fehler in der E-Mail tritt scheinbar nur auf wenn man am elementWrap rumspielt.

Getestet mit Form 6.2.0

Edit: Sorry wegen der Formatierung. Mein erster Post in der Art. Ich bekomme es irgendwie nicht besser hin. Keine Ahnung woher die Lücke kommt und warum es nicht richtig eingerückt ist.