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