Keine Benutzerde definierte Meldung bei we:captcha bzw we:ifcaptcha

Fragen zum Erstellen von Templates für webEdition.
DieKleine
Member
Beiträge: 55
Registriert: Mo 7. Nov 2016, 18:29

Keine Benutzerde definierte Meldung bei we:captcha bzw we:ifcaptcha

Beitragvon DieKleine » Di 17. Jan 2017, 17:17

Hallo,

weiß jemand, ob man bei we:ifCaptcha eine Fehlermeldung ausgeben lassen kann, die erst dann erscheint, wenn das Formular neu geladen wird?

Also, bei mir schaut es so aus:
Ich habe ein Formular mit we:form formmail erstellt, und habe jetzt das we:captcha eingebaut:

Code: Alles auswählen

<we:captcha 
width=""
height=""
...
...
/> 	
<input name="captcha_text" id="captcha_text" type="text" required/> 
Das ganze frage ich darunter ab mit:

Code: Alles auswählen

<we:ifCaptcha name="captcha_text">
<we:formmail onsuccess="4768"/> 
</we:ifCaptcha>
<we:ifNotCaptcha name="captcha_text">
<p style="color: #E12425;font-size: 20px;line-height: 25px;">Das Captcha ist leer oder nicht korrekt. Versuchen Sie es bitte noch einmal.</p>
</we:ifNotCaptcha> 
Jetzt bekomme ich meinen Text eben auch angezeigt, wenn ich das Captcha noch nicht überprüft habe.
Und ohne diese Meldung habe ich einfach nur wieder das leere Formular und die Userfreundlichkeit ist dadurch nicht gegeben, weil er nicht gesagt bekommt, dass er das Captcha falsch eingegeben hat.
Hat jemand eine Idee für mich?

LG
Anna

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Keine Benutzerde definierte Meldung bei we:captcha bzw we:ifcaptcha

Beitragvon mokraemer » Di 17. Jan 2017, 17:26

Hallo Anna,
ich würde das vermutlich so lösen:

Code: Alles auswählen

<we:ifCaptcha name="captcha_text">
  <we:formmail onsuccess="4768"/> 
<we:else/>
  <we:ifVarNotEmpty type="request" name="captcha_text">
    <p style="color: #E12425;font-size: 20px;line-height: 25px;">Das Captcha ist leer oder nicht korrekt. Versuchen Sie es bitte noch einmal.</p>
  </we:ifVarNotEmpty>
</we:ifCaptcha>
webEdition-Kern-Entwickler

DieKleine
Member
Beiträge: 55
Registriert: Mo 7. Nov 2016, 18:29

Re: Keine Benutzerde definierte Meldung bei we:captcha bzw we:ifcaptcha

Beitragvon DieKleine » Di 17. Jan 2017, 17:50

Hi,

schon mal Danke für die Anregung, leider löst das nicht mein Problemchen.

Ich habe es jetzt, nach deinem Vorschlag mal so versucht:

Code: Alles auswählen

<we:ifCaptcha name="captcha_text">
	<we:formmail onsuccess="4768"/>
<we:else/>
	<we:ifVarNotEmpty type="global" doc="self" match="captcha_text">
		<p style="color: #E12425;font-size: 20px;line-height: 25px;">Das Captcha ist leer oder nicht korrekt. Versuchen Sie es bitte noch einmal.</p>
	</we:ifVarNotEmpty>
</we:ifCaptcha>
Leider ändert sich an meiner Ansicht auch nicht, der Text wird gleich beim ersten Aufruf des Formulars gezeigt.

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Keine Benutzerde definierte Meldung bei we:captcha bzw we:ifcaptcha

Beitragvon mokraemer » Di 17. Jan 2017, 21:00

der type sollte nicht global, sondern request sein. Und ifVar(Not)Empty hat name - nicht match als Parameter.
webEdition-Kern-Entwickler

DieKleine
Member
Beiträge: 55
Registriert: Mo 7. Nov 2016, 18:29

Re: Keine Benutzerde definierte Meldung bei we:captcha bzw we:ifcaptcha

Beitragvon DieKleine » Mi 18. Jan 2017, 10:02

Ich hatte vergessen zu schreiben, dass das, so wie du mir den Code vorgeschlagen hast, auch nicht funktioniert hat und ich das ein bisschen umgeschrieben habe um rum zu probieren.

Und dazu kommt noch, dass ich im Frontend eine Fehlermeldung bezüglich we:ifVarEmpty bekommen habe:

Fehler in der Vorlage: Das Attribut 'match' im Tag <we:ifVarEmpty> darf nicht fehlen oder leer sein!

Nachdem ich gerade noch zusätzlich zu dem name="captcha_text" noch das match="captcha_text" als Attribut in we:ifVarEmpty rein geschrieben habe, funktioniert es.

Hier der Code:

Code: Alles auswählen

<we:ifCaptcha name="captcha_text">
	<we:formmail onsuccess="4768"/>
<we:else/>
	<we:ifVarNotEmpty type="request" match="captcha_text" name="captcha_text">
		<p>Das Captcha ist leer oder nicht korrekt. Versuchen Sie es bitte noch einmal.</p>
	</we:ifVarNotEmpty>
</we:ifCaptcha>						
Danke für deine Hilfe ^_^

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Keine Benutzerde definierte Meldung bei we:captcha bzw we:ifcaptcha

Beitragvon mokraemer » Mi 18. Jan 2017, 10:41

ja sorry, stimmt. hab mich da wohl verschaut - es muß match heißen - aber der type war ja das wichtige.
webEdition-Kern-Entwickler

DieKleine
Member
Beiträge: 55
Registriert: Mo 7. Nov 2016, 18:29

Re: Keine Benutzerde definierte Meldung bei we:captcha bzw we:ifcaptcha

Beitragvon DieKleine » Mi 18. Jan 2017, 15:20

Hi,

doch noch eine Frage.

Da ich einen Teil des Formulares per $_POST übergeben bekomme und das dann beim neuladen(wenn das Captcha falsch ist) nicht mehr übergeben wird, habe ich jetzt ein kleines Problem und dachte mir, ich löse das so:

Wenn das Captcha falsch ist, soll auf eine Error-Seite umgeleitet werden, von der ich dann mit einem histery.go(-1), wieder zurück auf mein Formular komme.

So nach dem Motto: we:ifVarNotEmpty dann lade Seite xy...

Wie kann ich das realisieren?
Hat da jemand einen Tipp?

LG

Anna

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Keine Benutzerde definierte Meldung bei we:captcha bzw we:ifcaptcha

Beitragvon mokraemer » Do 19. Jan 2017, 12:52

verstehe ich nicht.
Warum sollte beim Neuladen die POST-Daten nicht übergeben werden?
Klar doch - nur bekommt der Benutzer eine Meldung die er bestätigen muß.
Besser ist es aber die POST-Daten wieder in das Formular reinzusetzen. Von JS-Spielereien wie history:back würde ich absehen.
webEdition-Kern-Entwickler


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste