Schönen guten Tag.
Ich schlage mich jetzt schon seit ein paar Tagen mit diesem Problem rum, ich hoffe mir kann jemand weiterhelfen.
Undzwar generiere ich RadioButtons über eine Schleife und diese sind auch required, was ja nicht das Problem ist.
Das Problem entsteht erst dadurch das ich eine eigene invalide-message haben möchte,
wenn es sich um einen Browser mit englischer Spracheinstellung handelt.
Ich habe das ganze mit oninvalid versucht zu lösen, aber dann macht er Probleme.
Wenn ich dann nämlich einmal auf Absenden drücke ohne was ausgewählt zu haben, kommt die gewollte Error-Message.
Allerdings kann muss ich danach jeden Button anklicken oder zumindest einmal den, der das oninvalid hat bevor ich
das Formular abschicken kann. Vielleicht hat ja jemand eine bessere Idee oder kann mir sagen was ich falsch mache.
Hier mein HTML bzw. Twig Code:
Und hier mein Versuch mit JavaScript:
Gruß Nico
Ich schlage mich jetzt schon seit ein paar Tagen mit diesem Problem rum, ich hoffe mir kann jemand weiterhelfen.
Undzwar generiere ich RadioButtons über eine Schleife und diese sind auch required, was ja nicht das Problem ist.
Das Problem entsteht erst dadurch das ich eine eigene invalide-message haben möchte,
wenn es sich um einen Browser mit englischer Spracheinstellung handelt.
Ich habe das ganze mit oninvalid versucht zu lösen, aber dann macht er Probleme.
Wenn ich dann nämlich einmal auf Absenden drücke ohne was ausgewählt zu haben, kommt die gewollte Error-Message.
Allerdings kann muss ich danach jeden Button anklicken oder zumindest einmal den, der das oninvalid hat bevor ich
das Formular abschicken kann. Vielleicht hat ja jemand eine bessere Idee oder kann mir sagen was ich falsch mache.
Hier mein HTML bzw. Twig Code:
Code:
{% for option in rule.optionMap %} <div class="form-check"> <input class="form-check-input" type="radio" name="rule" id="ruleId" value="Identifier" oninvalid="this.setCustomValidity('Please fill out this field.')" oninput="setCustomValidity('')" required> <label class="form-check-label" for="ruleId"> text </label> </div> {% endfor %}
Code:
<script> $(document).ready(function() { if (document.getElementById("ruleId").checked == true) { $(".form-check-input").prop("required", false); var ret = "oninvalid=\"this.setCustomValidity('Please fill out this field.')\" oninput=\"setCustomValidity('')\""; var replaced = ret.replace(ret, ""); } }); </script>
Kommentar