如何使用jQuery验证插件对单选按钮组进行验证(应该选择一个单选按钮)?
答案 0 :(得分:110)
对于更新版本的jquery(我认为是1.3+),你所要做的就是设置一个必需的收音机成员,jquery会处理剩下的事情:
<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
以上将需要在继续之前选择3个无线电选项中的至少一个,并选择“我的选项”名称。
Mahes的标签建议,顺便说一句,效果非常好!
答案 1 :(得分:23)
使用以下规则验证单选按钮组选择
myRadioGroupName : {required :true}
myRadioGroupName是您为name属性赋予的值
答案 2 :(得分:18)
您也可以使用:
<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>
并简单地添加此规则
rules: {
'myoptions[]':{ required:true }
}
提及如何添加规则。
答案 3 :(得分:3)
另一种验证方式是这样的。
var $radio = $('input:radio[name="nameRadioButton"]');
$radio.addClass("validate[required]");
我希望我的例子会帮助你
答案 4 :(得分:3)
根据布兰登的回答。但是,如果您使用的是使用不显眼验证的ASP.NET MVC,则可以将data-val属性添加到第一个。我还想为每个单选按钮添加标签以供使用。
<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>
答案 5 :(得分:3)
单选按钮的代码 -
<div>
<span class="radio inline" style="margin-right: 10px;">@Html.RadioButton("Gender", "Female",false) Female</span>
<span class="radio inline" style="margin-right: 10px;">@Html.RadioButton("Gender", "Male",false) Male</span>
<div class='GenderValidation' style="color:#ee8929;"></div>
</div>
<input class="btn btn-primary" type="submit" value="Create" id="create"/>
和jQuery代码 -
<script>
$(document).ready(function () {
$('#create').click(function(){
var gender=$('#Gender').val();
if ($("#Gender:checked").length == 0){
$('.GenderValidation').text("Gender is required.");
return false;
}
});
});
</script>
答案 6 :(得分:2)
我遇到了同样的问题。只是为验证器编写自定义高亮显示和取消高亮显示功能。将此添加到validaton选项应将错误类添加到元素及其相应的标签:
'highlight': function (element, errorClass, validClass) {
if($(element).attr('type') == 'radio'){
$(element.form).find("input[type=radio]").each(function(which){
$(element.form).find("label[for=" + this.id + "]").addClass(errorClass);
$(this).addClass(errorClass);
});
} else {
$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
$(element).addClass(errorClass);
}
},
'unhighlight': function (element, errorClass, validClass) {
if($(element).attr('type') == 'radio'){
$(element.form).find("input[type=radio]").each(function(which){
$(element.form).find("label[for=" + this.id + "]").removeClass(errorClass);
$(this).removeClass(errorClass);
});
}else {
$(element.form).find("label[for=" + element.id + "]").removeClass(errorClass);
$(element).removeClass(errorClass);
}
},
答案 7 :(得分:0)
将错误消息放在顶部。
<style>
.radio-group{
position:relative; margin-top:40px;
}
#myoptions-error{
position:absolute;
top: -25px;
}
</style>
<div class="radio-group">
<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 </div>
</div><!-- end radio-group -->