yakamara / yform

YForm für REDAXO 5 – Formulare im Frontend und Backend mit Verwaltung von Datenbank-Tabellen.
MIT License
77 stars 55 forks source link

upload value - allowed extension funktioniert nicht #1511

Closed steri-rex closed 6 months ago

steri-rex commented 6 months ago

so funktioniert die allowed extension / types

$yform->setValueField('upload', array('lebenslauf_upload','{{form_lebenslauf}}','3,5120','.pdf,.odt,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg','0','min_err,Bitte eine Datei mit max. 5 MB hochladen!,Nur .pdf - .odt - .doc -.docx - .xls -.xlsx -.png - .jpg - .jpeg Dateien sind erlaubt!,Bitte laden Sie eine Datei hoch!,Datei löschen?','Erlaubte Dateitypen: .pdf,.odt,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg; max. 5MB'));

so funktioniert die allowed extension / types nicht: man kann im Frontend eine PDF Datei auswählen jedoch kommt nach Absenden type error: Nur .pdf,.odt,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg Dateien sind erlaubt!

$yform->setValueField('upload', [
            'name' => 'lebenslauf_upload2',
            'label' => '{{form_lebenslauf}}',
            'sizes' => '',
            'types' => '',
            'required' => '',
            'messages' => '',
            'notice' => 'Erlaubte Dateitypen: .pdf,.odt,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg; max. 5MB',
            'config' => '{"sizes":{"min":0,"max":5120},"allowed_extensions":"pdf,odt,doc,docx,xls,xlsx,png,jpg,jpeg","messages":{"max_error":"Bitte eine Datei mit max. 5 MB hochladen!","type_error":"Nur .pdf,.odt,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg Dateien sind erlaubt!","empty_error":"Bitte laden Sie eine Datei hoch!","delete_file":"Datei löschen?"}}'
        ]);                 
tbaddade commented 6 months ago

Wenn ich mir den Code vom upload Value genauer ansehe, sollte allowed_extensions ein array sein und kein string.

steri-rex commented 6 months ago

habs auch so versucht: "allowed_extensions":[".pdf",".odt",".doc",".docx",".xls",".xlsx",".png",".jpg",".jpeg"] aber war trotzdem

tbaddade commented 6 months ago

habs auch so versucht:

Kann auch nicht klappen.

Siehe hier https://github.com/yakamara/yform/blob/master/lib/yform/value/upload.php#L464

steri-rex commented 6 months ago

Siehe hier https://github.com/yakamara/yform/blob/master/lib/yform/value/upload.php#L464

sorry - ich sehe den Fehler nicht - hab ichs falsch geschrieben?

tbaddade commented 6 months ago

hab ichs falsch geschrieben?

Ja, hast du. Du probiertest oben die Extension mal mit mal ohne Punkt. Und genau diese eine Kombi die funktionieren sollte, scheinst du nicht probiert zu haben.

Versuche doch das upload Value zu Debuggern. Einfach mal schauen was da wie ausgewertet wird.

steri-rex commented 6 months ago

danke - jetzt klappt es

$yform->setValueField('upload', [
            'name' => 'lebenslauf_upload',
            'label' => '{{form_lebenslauf}}',
            'sizes' => '', //deprecated
            'types' => '', //deprecated
            'required' => '',
            'messages' => '',//deprecated
            'notice' => 'Erlaubte Dateitypen: .pdf,.odt,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg; max. 5MB',
            'config' => '{"sizes":{"min":3,"max":5120000},"allowed_extensions":["jpg","pdf","odt","doc","docx","xls","xlsx","png","jpg","jpeg"],"messages":{"max_error":"Bitte eine Datei mit max. 5 MB hochladen!","type_error":"Nur .pdf,.odt,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg Dateien sind erlaubt!","empty_error":"Bitte laden Sie eine Datei hoch!","delete_file":"Datei löschen?"}}'
        ]);  //5120000 in bytes = 5,12MB