[TYPO3-german] Typo3Script Form mit mehren FileUploads und fileallowedtypes/filemaximumsize

Marc Grube marc.grube at pixeltopf.com
Fri Nov 10 16:18:58 CET 2017


Hallo in die Runde,

im folgenden Formular soll es die Möglichkeit geben, null bis sechs Dateien hochzuladen, die dann per eMail versendet werden. Es sind nur Dateien vom Dateityp *.pdf mit einer maximalen Größe von 5 MB pro Datei erlaubt:

Der (gekürzte) Code für das Formular sieht so aus:

Die Abfrage funktioniert; wenn man versucht einen anderen Dateityp hochzuladen oder eine Datei die zu groß ist, wird der Fehler ausgegeben. 

enctype = multipart/form-data
method = post
prefix = tx_form
confirmation = 
postProcessor {
1 = mail
1 {
recipientEmail = test (at) test.de
senderEmail = test (at) test.de
subject = Betreff
}
2 = redirect
2 {
destination = 250
}
}
10 = FIELDSET
10 {
legend {
value = Ihre Kontaktdaten
}
10 = TEXTLINE
10 {
type = text
name = Vorname
label {
value = Vorname
}
}
20 = TEXTLINE
20 {
type = text
name = Nachname
label {
value = Nachname
}
}
30 = TEXTLINE
30 {
type = text
name = E-Mail
label {
value = E-Mail Adresse
}
}
40 = TEXTLINE
40 {
type = text
name = Telefon
label {
value = Telefon
}
}
}
..
40 = FIELDSET
40 {
10 = HEADER
10 {
class = content-header
headingSize = h4
content = Überschrift
}
20 = FILEUPLOAD
20 {
type = file
name = datei1
label {
value = Anschreiben
}
}
30 = FILEUPLOAD
30 {
type = file
name = datei2
label {
value = Lebenslauf
}
}
..
}
60 = SUBMIT
60 {
type = submit
name = 15
value = Formular absenden
}
rules {
1 = required
1 {
showMessage = 
message = Benötigt
error = Dies ist ein Pflichtfeld
element = Vorname
}
2 = required
2 {
showMessage = 
message = Benötigt
error = Dies ist ein Pflichtfeld
element = Nachname
}
3 = email
3 {
showMessage = 
message = (max.muster (at) domain.com)
error = Dies ist keine gültige E-Mail-Adresse
element = E-Mail
}
4 = fileallowedtypes 
        4 { 
                breakOnError = 0 
                showMessage = 
                message = (%allowedTypes) 
                error = Bitte hängen Sie nur Dokumente mit dem Dateityp *.pdf an.
                types = application/pdf
                element = datei1
        } 
    5 = filemaximumsize 
        5 { 
                breakOnError = 0 
                showMessage = 
                message = The file has to be smaller as %maximum 
                error = Diese Datei ist zu groß (max 5MB).
                maximum = 5242880 
                element = datei1
        } 
6 = fileallowedtypes 
        6 { 
                breakOnError = 0 
                showMessage = 
                message = (%allowedTypes) 
                error = Bitte hängen Sie nur Dokumente mit dem Dateityp *.pdf an.
                types = application/pdf
                element = datei2
        } 
    7 = filemaximumsize 
        7 { 
                breakOnError = 0 
                showMessage = 
                message = The file has to be smaller as %maximum 
                error = Diese Datei ist zu groß (max 5MB).
                maximum = 5242880 
                element = datei2
        } 
..
}

Leider kann das Formular nicht mehr abgeschickt werden OHNE in jedem FileUpload-Feld eine Datei zu hinterlegen, ansonsten erscheint der Fehler, dass der Dateityp falsch sei. 

Wie kann ich evtl. erreichen, dass die Regeln fileallowedtypes und fileallowedtypes nur angewendet werden, wenn eine Datei im jeweiligen Feld hochgeladen wurde?

Vielen Dank und LG!



More information about the TYPO3-german mailing list