我正在使用jQuery validate插件进行表单验证。它只是检查第一个字段。如果第一个字段验证为真,那么它就是提交表单。它没有验证休息区..
我正在使用bootstrap 3.0
<script type="text/javascript">
$(document).ready(function(){
$('#contact').validate({
rules: {
firstname: {
required: true,
minlength: 5,
},
useremail: {
required: true,
}
}
});
})
</script>
<form action="" method="" id="contact">
<div class="form-group">
<label> Your Name </label>
<input type="text" class="form-control" placeholder="Enter Your Name" id="firstname" required="" minlength="5"/>
</div>
<div class="form-group">
<label> Your E-mail </label>
<input type="email" class="form-control" placeholder="Enter Your Email" id="useremail" required=""/>
</div>
<div class="form-group">
<label> Contact Detail </label>
<input type="text" class="form-control" placeholder="Enter Contact Number" id="mobile" minlength="10" maxlength="10" required=""/>
</div>
<div class="form-group">
<label> Type</label>
<select class="form-control">
<option> Inquiry </option>
<option> Complaints </option>
<option> Feedback </option>
<option> Others </option>
</select>
</div>
<div class="form-group">
<label> Message</label>
<textarea class="form-control" rows="3" cols="5" placeholder="Enter Your Message Here..." id="message" minlength='10' required=""></textarea>
</div>
<button type="submit" class="btn btn-primary btn-lg"> Send</button>
</form>
我不知道我的代码出了什么问题?请帮忙......
提前致谢
答案 0 :(得分:5)
您的验证选项中有拼写错误。隐喻必须是规则。
还必须指定名称属性:
<强> HTML 强>
<form action="" method="" id="contact">
<div class="form-group">
<label>Your Name</label>
<input type="text" class="form-control" placeholder="Enter Your Name" name="firstname" required="" minlength="5" />
</div>
<div class="form-group">
<label>Your E-mail</label>
<input type="email" class="form-control" placeholder="Enter Your Email" name="useremail" required="" />
</div>
<div class="form-group">
<label>Contact Detail</label>
<input type="text" class="form-control" placeholder="Enter Contact Number" name="mobile" minlength="10" maxlength="10" required="" />
</div>
<div class="form-group">
<label>Type</label>
<select class="form-control">
<option>Inquiry</option>
<option>Complaints</option>
<option>Feedback</option>
<option>Others</option>
</select>
</div>
<div class="form-group">
<label>Message</label>
<textarea class="form-control" rows="3" cols="5" placeholder="Enter Your Message Here..." id="message" minlength='10' required=""></textarea>
</div>
<button type="submit" class="btn btn-primary btn-lg">Send</button>
</form>
<强>的Javascript 强>
$(document).ready(function () {
$('#contact').validate({
rules: {
firstname: {
required: true,
minlength: 5,
},
useremail: {
required: true,
}
},
errorClass : 'has-error',
validClass : 'has-success',
highlight:function(element, errorClass, validClass) {
$(element).parents('div').addClass(errorClass).children().removeClass(errorClass);
$(element).parents('div').removeClass(validClass).children().removeClass(validClass);
},
unhighlight: function(element, errorClass, validClass) {
$(element).parents('div').removeClass(errorClass).children().removeClass(errorClass);
$(element).parents('div').addClass(validClass).children().removeClass(validClass);
}
});
})
小提琴here
使用此CSS可以完成错误和有效的存储:
.has-error
{
background-color: rgb(255, 0, 0);
}
.has-success
{
background-color: rgb(0, 255, 0);
}
答案 1 :(得分:2)
除了拼写错误。 如果您使用此插件Jquery validation。 您缺少输入的名称属性。
<input type="email" class="form-control" placeholder="Enter Your Email" id="useremail" name="useremail"/>
根据文档,您必须为每个需要验证'name'属性的元素分配,并使用name="firstname"
指定验证规则。
即使您没有使用上述插件,我建议您尝试使用此功能。