我使用Jquery验证插件,一切正常但是当我尝试验证复选框时出现错误:
TypeError: b is undefined
这是我的bootstrap复选框脚本:
<div class="col-xs-8">
<div class="checkbox icheck">
<label>
<input type="checkbox" required> I agree to the <a href="#">terms</a>
</label>
</div>
</div>
这里是我使用的jquery验证:
$("#formRegister").validate({
errorElement: "span",
errorClass: "help-block",
highlight: function (element, errorClass, validClass) {
// Only validation controls
if (!$(element).hasClass('novalidation')) {
$(element).closest('.form-group').removeClass('has-success').addClass('has-error');
}
},
unhighlight: function (element, errorClass, validClass) {
// Only validation controls
if (!$(element).hasClass('novalidation')) {
$(element).closest('.form-group').removeClass('has-error').addClass('has-success');
}
},
errorPlacement: function (error, element) {
if (element.parent('.input-group').length) {
error.insertAfter(element.parent());
}
else if (element.prop('type') === 'radio' && element.parent('.radio-inline').length) {
error.insertAfter(element.parent().parent());
}
else if (element.prop('type') === 'checkbox' || element.prop('type') === 'radio') {
error.appendTo(element.parent().parent());
}
else {
error.insertAfter(element);
}
}
答案 0 :(得分:2)
必填输入也必须有name
。没有名称,浏览器不会提交,因此也不需要
<input name="terms" type="checkbox" required>