我正在使用jQuery Validation插件来验证表单。
问题是我无法找到验证表单中是否选中了单个复选框的方法
HTML标记:
<label for="terms">terms : </label>
<input type="checkbox" name="terms" id="terms">
jQuery代码:
rules: {
terms: "required"
},
messages:{
terms: "check the checbox"
}
任何帮助都将不胜感激。
答案 0 :(得分:6)
HTML标记:
<label for="terms">terms : </label>
<input type="checkbox" name="terms" value="1" id="terms">
jQuery代码:
rules: {
terms: {
required : true
}
},
messages:{
terms: {
required : "check the checbox"
}
}
jsfiddle:http://jsfiddle.net/mZ6zJ/
答案 1 :(得分:6)
也许您的复选框有css样式
display: none
将其替换为
visibility: hidden;
width: 0;
这对我很有帮助。
答案 2 :(得分:4)
您需要为复选框指定一个值。
<input type="checkbox" name="terms" id="terms" value="accepted">
答案 3 :(得分:2)
Checkbox Jquery验证示例
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script>
<form id="demo">
<label for="terms">terms : </label>
<input type="checkbox" name="terms[]" value="your value" id="terms">
</form>
Jquery代码
$(document).ready(function() {
$("#demo").validate({
rules: {
'terms[]': { required: true },
},
messages:{
'terms[]': "check the checbox"
}
});
});
答案 4 :(得分:0)
您需要将代码包装在文档就绪的jQuery方法和验证检查中:
$().ready(function () {
$('#formId').validate({
rules: {
terms: "required"
},
messages:{
terms: "check the checbox"
}
})
})
我希望这会有所帮助
答案 5 :(得分:-3)
我只是在C#中创建了自己的注释,并将其与我的jQuery验证相匹配。现在我只是注释出现的任何复选框。如果您没有使用C#,您可以轻松地在您想要应用的元素上添加该类。
[System.AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = false)]
public class CheckboxRequired : ValidationAttribute, IClientValidatable
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (value.GetType() != typeof(bool) || (bool)value == true)
return ValidationResult.Success;
return new ValidationResult("This checkbox must be checked.");
}
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
var rule = new ModelClientValidationRule
{
ErrorMessage = "This checkbox must be checked.",
ValidationType = "CheckboxRequired"
};
yield return rule;
}
}
在我的Validation.js
中jQuery.validator.addMethod("CheckboxRequired", function (value, element) {
return (value != typeof undefined && value != false);});
jQuery.validator.addClassRules("CheckboxRequired", { CheckboxRequired: true});