Joomla 5 Notice

We are pleased to announce that as of January 29, 2024, all of our Joomla extensions are compatible with Joomla 5.

For all who are still updateing from Joomla 3 to Joomla 4: Joomla 4 Migration instructions are available here:

There is now a separate Documentation for Visforms for Joomla 4 and for Visforms for Joomla 5!

Forum

Visforms Subscription user can ask questions in our forum. Please log in with the relevant user first.
Everybody can access the forum for reading.

Please only ask 1 question per topic.

File-Upload Clientseitige Formularüberprüfung auf "0 Byte Datei"

More
7 months 1 week ago #9723 by efa-sk
Hallo liebes vi-solutions Team,

ich würde für unser Kontaktformular gerne die Formularüberprüfung der File-Upload Felder um die Möglichkeit erweitern, auch auf "leere Dateien" bzw.  "0 Byte Dateien" zu überprüfen. Ziel soll sein, dass diese Dateien von vornherein nicht hochgeladen werden können (dürfen) und der Benutzer einen entsprechenden Hinweis erhält das die hochzuladende Datei 0 Byte groß bzw. leer ist. An welcher Stelle bzw. wie kann ich das Umsetzten.

Vielen Dank im Voraus
Mit freundlichen Grüßen
Sebastian
 

More
7 months 1 week ago #9725 by Administrator AV
Hallo Sebastian,

eine komplett saubere Validierung besteht sowohl aus einer browserseitigen Überprüfung mit Javascript als auch einer serverseitigen Validierung mit php.
Alle Validierungen, die Visforms mitbringt führen beide Überprüfungen aus.
Ob du das in diesem Fall auch benötigst musst du selbst entschieden.

Eine serverseitige Validierung liese sich meines Erachtens auf dem Event 'onVisformsBeforeFormSave' implementieren.
Zu den Visforms Event Handlern siehe:
docs.joomla-4.visforms.vi-solutions.de/d...-plugin-development/

Dieses Event wird sehr früh im components/com_visforms/src/Controller/VisformsController.php getriggered.
Es erhält das Formular und die Felder als Parameter.
Du kannst also durch deine Felder gehen und schauen ob eine Upload-Datei mit 0 Bytes hochgeladen werden soll.
Hier kannst du dich am Code in der administrator/components/com_visforms/helpers/visformsmedia.php orientieren.

Wenn ja gibst du dem $visform Objekt eine Fehlermeldung mit.
array_push($visform->errors, 'Fehlermeldung');
Und gibst ist deinem Event Handler false zurück.
Dann steigt der Controller im prozessieren des übermittelten Formulars aus und es wird das Formular dem Benutzer mit deiner Fehlermeldung erneut angezeigt.

Eine Browserseitige Implementierung würde mit individuellem Javascript erfolgen.
Du musst dabei geben den Visforms Submit Handler programmieren, wie das in der Dokumentation beschrieben ist.
docs.joomla-4.visforms.vi-solutions.de/d...-plugin-development/

Herzliche Grüße,
Aicha

:idea: I recommend you the new and up-to-date documentation for Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/en/docs/
Most of this also applies retrospectively to Joomla 3.
Please only ask 1 question per topic :-).

:idea: Ich empfehle Dir die neue und aktuelle Dokumentation für Joomla 4:
docs.joomla-5.visforms.vi-solutions.de/docs/
Das meiste gilt rückwirkend auch für Joomla 3.
Bitte immer nur 1 Frage pro Thema stellen :-).

Moderators: Administrator AVAdministrator IV
Powered by Kunena Forum