Hallo zusammen, Ich habe einen eigenen Controller gebaut auf dem ein eigenes Formular benötigt wird. Das Funktioniert soweit auch alles prima. Jetzt möchte ich aber Pflichtfelder in dem Formular definieren. Das habe ich durch „required“ gelöst: <textarea name="bewertungstext{$smarty.foreach.artikel.iteration}" placeholder="Bewertungstext*" required="required" aria-required="true" class="is--required"></textarea>
Auf Windows Systemen und auf Android Geräten erscheint jetzt bei "nicht ausgefüllten Feldern ein kurzer Warnhinweis an dem dementsprechenden Feld. Und das abschicken wird geblockt, so wie es soll. Bei Apple Geräten funktioniert das ganze nicht: Apple iPad Air 2 mit Safari Browser, iPhone 6s auch Safari… ignorieren das ganze völlig und senden auch leere Werte, was natürlich nicht passieren darf. P.S. ein vorgefertigtes Shopware Formular kann ich an dieser Stelle nicht verwenden, da sich die Inhalte aus einer {foreach} Schleife generieren (deshalb auch die iteration im Formular) Wie löse ich das am besten? Muss ich jetzt extra eine Validierungsseite aufbauen, die das ganze dann nach leeren Werten durchforstet und bei einem Error alles wieder an das Ursprungsformular zurücksendet? Oder gibt es da eine andere einfachere Form der Validierung? Auch würde ich gerne eine mindestanzahl von Buchstaben in einem Formular realisieren. Da habe ich mit den HTML5 Pattern Befehl ausgeguckt, befürchte aber dass auch der dieselben probleme wie das „required“ macht. Ich stehe da ein wenig auf dem Schlauch. Für Lösungsansätze wäre ich Euch sehr Dankbar
Hat keiner eine Idee? Muss ich evtl auf eine externe Javascriptlösung zurückgreifen? Oder hat Shopware schon in den Bordmitteln eine Lösung parat die ich bisher nicht entdeckt habe?
Wenn du die Eingaben wirklich validieren willst, dann kommst du nicht um eine Prüfung herum. Nicht jeder Browser unterstützt HTML 5 und javascript kann man deaktivieren. Prüfe die Eingaben und leite bei Fehlern wieder auf das Formular um. Viele Grüße