Zum Inhalt springen

Formhandler - ajax-Validierung, "Danke-Seite" etc.

Erstellt am 10. November 2011 · 1 Antwort · letzte Antwort am 17. November 2011

Tags: Frage

Silkea ·

Hallo,

habe gerade die Extension Formhandler angeschaut (tolles Teil!) und es läuft fast alles bis auf ein paar kleine Probleme:

1. inline-Validierung mit ajax

Das tut leider gar nicht. Also ich gebe was falsches in ein Feld ein, tabbe weiter (oder klicke woanders hin) und es tut sich nichts. Hier müsste doch eigentlich eine Fehlermeldung kommen, oder?
Im debug steht aber "using_ajax", also sollte es doch eingebunden sein? Oder müsste da noch mehr stehen?

2. minLength scheint nicht zu funktionieren. Auf maxLength wird geprüft, aber minLength wird nicht gecheckt.

3. Hat man alles richtig ausgefüllt und absenden geklickt, sollte doch eigentlich das Template TEMPLATE_SUBMITTEDOK ausgeführt werden, oder? Muss ich da noch was machen, damit das eingebunden wird? Ich wollte so einen Dankespruch ausgeben, die eingegebenen Werte und einen Link zum Ausdrucken des Ganzen.

4. global.value = <h3 class="blue">LLL:{$langFile}:errors_occurred}</h3> wird nicht ersetzt. es wird der Teil hinter langfile ausgegeben, also ":errors_occurred}". Was ist hier falsch?

Hier meine Konfiguration (gekürzt, Auslassungen durch ... gekennzeichnet):

plugin.Tx_Formhandler.settings.predef.default {

  # GENERAL CONFIGURATION
  name = Default
  ...
  formValuesPrefix = formhandler

  # ERRORS LAYOUT
  ...

  isErrorMarker {
    global = TEXT
    global.value = <h3 class="blue">{LLL:{$langFile}:errors_occurred}</h3>
    global.insertData = 1
    default = error
  }
  
  # inline form validation with ajax
  ajax.class = Tx_Formhandler_AjaxHandler_JQuery

  # form validation (serverside)
  validators {
    1.class = Tx_Formhandler_Validator_Default
    1.config {
      fieldConf {
        firstname {
          errorCheck.1 = required
          errorCheck.2 = maxLength
          errorCheck.2.value = 50
        }
        ...
      }
    }
  }
  
  finishers {
    1.class = Tx_Formhandler_Finisher_Mail
    1.config {
      limitMailsToUser = 5
      admin {
        ...
      }
      user {
        ...
      }
    }
    2.class = Tx_Formhandler_Finisher_SubmittedOK
    2.config {
    }
  }
}

HTML (gekürzt):

<!-- ###TEMPLATE_FORM1### begin -->

<div id="formhandler_contact_form">

<form class="labeledForm" name="Formular" method="post" action="###REL_URL###" enctype="multipart/form-data" onsubmit="fillDateField();">
	<!--  Spam Schutz: Benutzer muss eine gewisse Zeit benötigen, um das Formular auszufüllen (s. +ext Formhandler für Einstellungen) -->
	<input type="hidden" name="formhandler[formtime]" value="###TIMESTAMP###" />
	
	<div class="floatbox">
		<p>###LLL:required_fields###</p>
	</div>
	
	###is_error###
	
	<fieldset>
		<legend>###LLL:persData###</legend>
		
		<div class="floatbox">###error_firstname###
			<label for="firstname">###LLL:firstname### ###required_firstname###</label>
			<input class="text ###is_error_firstname###" type="text" name="formhandler[firstname]" id="firstname" value="###value_firstname###"/>
			###validate_firstname###
		</div>
		...
	</fieldset>
		
	<div class="floatbox">
		<input type="submit" value="###LLL:submit###" ###submit_nextStep###/>
	</div>
		
</form>
</div>
<!-- ###TEMPLATE_FORM1### end -->

<!-- ###TEMPLATE_EMAIL_USER_PLAIN### begin -->
Hallo ###value_firstname### ###value_lastname###,

...

<!-- ###TEMPLATE_EMAIL_USER_PLAIN### end -->

<!-- ###TEMPLATE_EMAIL_USER_HTML### begin -->

...

<!-- ###TEMPLATE_EMAIL_USER_HTML### end -->

<!-- ###TEMPLATE_EMAIL_ADMIN_PLAIN### begin -->
Hallo Admin,

...

<!-- ###TEMPLATE_EMAIL_ADMIN_PLAIN### end -->

<!-- ###TEMPLATE_EMAIL_ADMIN_HTML### begin -->
...
<!-- ###TEMPLATE_EMAIL_ADMIN_HTML### end -->

<!-- ###TEMPLATE_SUBMITTEDOK### begin -->
<h2>###LLL:datagiven###</h2>
<table>
  <tr>
    <td>###LLL:firstname###</td>
    <td>###value_firstname###</td>
  </tr>
...
</table>
<div>
###PRINT_LINK###
</div>
<!-- ###TEMPLATE_SUBMITTEDOK### end -->

Bin für alle Hinweise zur Fehlersuche/-behebung dankbar :-)

vg Silkea

Silkea ·

Habe gerade gesehen, dass es auch die Rubrik Formulare gibt. Hier wäre das Thema besser aufgehoben. Da ich den Beitrag nicht verschieben kann, werde dort einen neuen Thread aufmachen.