Wie führt man eine Validierung für eine Radio-Button-Gruppe (ein Radio-Button sollte ausgewählt werden) mit jQuery Validation Plugin?
Dies ist jetzt die beste Antwort für mich mit den Updates zu jQuery. +1.
Wie führt man eine Validierung für eine Radio-Button-Gruppe (ein Radio-Button sollte ausgewählt werden) mit jQuery Validation Plugin?
Bei neueren Versionen von Jquery (1.3+, glaube ich) müssen Sie nur eines der Elemente des Radio-Sets als erforderlich festlegen, und Jquery kümmert sich um den Rest:
<input type="radio" name="myoptions" value="blue" class="required"> Blue<br />
<input type="radio" name="myoptions" value="red"> Red<br />
<input type="radio" name="myoptions" value="green"> Green
In diesem Fall muss mindestens eine der 3 Optionen mit dem Namen "Meine Optionen" ausgewählt werden, bevor Sie fortfahren können.
Der Vorschlag von Mahes für das Etikett funktioniert übrigens wunderbar!
Das einzige Problem dabei ist, dass jQuery validate das erste Optionsfeld rot hervorhebt, wenn keines von ihnen markiert ist, aber in Wirklichkeit wollen Sie wahrscheinlich ALLE markieren. Außerdem sollte die rote Markierung verschwinden, sobald Sie eine Optionsschaltfläche aktivieren.
@Haacked Sie könnten die errorPlacement Callback-Funktion in den Validierungsoptionen verwenden, um die Fehlermeldung an einer sinnvollen Stelle zu platzieren?
Beachten Sie, dass Sie, wenn Sie die Position des Etiketts kontrollieren wollen, Ihr eigenes Fehleretikett an der gewünschten Stelle mit dem von Ihnen gewünschten Text erstellen können: <label for="myRadioGroupName" class="error" style="display:none;">Bitte wählen Sie eine aus.</label>
@Tom es ist nutzlos, sich die label
Tag für den Fehler, tatsächlich fügt das Plugin automatisch dieses Fehlerlabel-Tag hinzu.
Das ist schon ziemlich lange her, aber ich glaube, ich wollte das <label> an einer anderen Stelle im DOM platzieren als dort, wo es automatisch vom Plugin erstellt wurde. Es ist auch gut möglich, dass sich das Verhalten des Plugins in den letzten 5 Jahren geändert hat...
Sie können auch dies verwenden:
<fieldset>
<input type="radio" name="myoptions[]" value="blue"> Blue<br />
<input type="radio" name="myoptions[]" value="red"> Red<br />
<input type="radio" name="myoptions[]" value="green"> Green<br />
<label for="myoptions[]" class="error" style="display:none;">Please choose one.</label>
</fieldset>
und fügen Sie einfach diese Regel hinzu
rules: {
'myoptions[]':{ required:true }
}
Erwähnen Sie, wie Sie Regeln hinzufügen können.
Aber dies würde Fehler auf HTML5-Validierung ich glaube, wie das for-Attribut muss eine ID-Referenz (die wir nicht 3 Radio-Buttons auf die gleiche ID setzen können) sein bringen.
Wie in der Antwort von Brandon. Aber wenn Sie ASP.NET MVC verwenden, die unaufdringliche Validierung verwendet, können Sie das data-val-Attribut zum ersten hinzufügen. Ich mag auch Beschriftungen für jedes Optionsfeld für Benutzerfreundlichkeit haben.
<span class="field-validation-valid" data-valmsg-for="color" data-valmsg-replace="true"></span>
<p><input type="radio" name="color" id="red" value="R" data-val="true" data-val-required="Please choose one of these options:"/> <label for="red">Red</label></p>
<p><input type="radio" name="color" id="green" value="G"/> <label for="green">Green</label></p>
<p><input type="radio" name="color" id="blue" value="B"/> <label for="blue">Blue</label></p>
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
0 Stimmen
Siehe die Antwort von c.reeves in forum.jquery.com/topic/
0 Stimmen
Es gibt einen neuen jQuery-Validator, der sehr leistungsfähig und einfach zu bedienen ist. Sie können es auschecken: code.google.com/p/bvalidator
0 Stimmen
Nicht eine ganze Bibliothek für etwas so Einfaches wie dieses einbeziehen wollen
0 Stimmen
Zur Validierung der Optionsschaltfläche sehen Sie die Implementierung der Optionsschaltfläche in diesem Video: youtube.com/