- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 http://jqueryvalidation.org
这非常有效 http://jsfiddle.net/xs5vrrso/
jQuery
$(document).ready(function () {
$('#myform').validate({ // initialize the plugin
rules: {
field1: {
required: true,
email: true
},
field2: {
required: true,
minlength: 5
}
}
});
});
HTML
<form id="myform">
<input type="text" name="field1" />
<input type="text" name="field2" />
<input type="submit" />
</form>
但是当我将表单更改为像这样的单独部分时它不起作用 http://jsfiddle.net/xs5vrrso/578/ (当我点击提交时,即使有一个空白的必填字段,它也会提交表单)
这是错误还是我做错了什么?
最佳答案
问题是默认情况下验证器会忽略验证中隐藏的输入元素。
当您转到第 2 部分时,第 1 部分被隐藏,因此其中的输入字段也被隐藏,因此验证器将忽略它。
您可以使用 ignore
选项覆盖此设置,但更好的解决方案是在移动到新部分之前验证字段,例如
$(document).ready(function () {
$('#myform').validate({ // initialize the plugin
ignore: [],
rules: {
field1: {
required: true
}
},
submitHandler: function (form) {
alert('valid form submitted');
return false;
}
});
});
$("#next-btn").click(function () {
if ($('#signup-part-1 :input').valid()) {
$('#signup-part-1').hide();
$('#signup-part-2').show();
}
});
$(document).ready(function() {
$('#myform').validate({ // initialize the plugin
ignore: [],
rules: {
field1: {
required: true
}
},
submitHandler: function(form) {
alert('valid form submitted');
return false;
}
});
});
$("#next-btn").click(function() {
if ($('#signup-part-1 :input').valid()) {
$('#signup-part-1').hide();
$('#signup-part-2').show();
}
});
#signup-part-2 {
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/jquery.validate.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.0/additional-methods.js"></script>
<form id="myform">
<div id="signup-part-1">PART 1
<br>
<input type="text" name="field1">
<br>
<button type="button" class="btn-primary pull-right" id="next-btn">Next</button>
</div>
<div id="signup-part-2">PART 2
<br>
<input type="submit">
</div>
</form>
关于javascript - jQuery 验证不工作 - jqueryvalidation.org,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30723581/
我正在使用 jQueryValidation我想验证我的表单而不需要使用 name属性。 如果表单元素没有 name属性仅验证第一个元素。 jQuery Validati
我正在使用jquery验证插件来验证我的表单数据,我有一个fileupload元素,然后有一个按钮,它打开浏览窗口来选择文件,因为默认错误消息显示在fileuplad元素和按钮之间,我想显示这个按钮后
如何在不覆盖所有验证设置的情况下覆盖 jQueryvalidation 对象的提交处理程序? form1.validate({ focusInvalid: false, // do not
我正在使用 this library和 jquery.validate 库,我遇到了样式问题:通常错误应该在选择列表下。 我的 JS 代码: errorElement: 'p', er
我正在使用 http://jqueryvalidation.org 这非常有效 http://jsfiddle.net/xs5vrrso/ jQuery $(document).ready(funct
我想使用 jQuery.validator require_from_group 方法验证多个 select2 元素。当我提交表单而不选择任何值时,验证有效。但是在更改任何 select2 元素中的值
我正在尝试通过ajax提交表单,它工作正常,但没有验证。因此,我添加了 JQuery 验证库并将代码添加到处理程序中,如文档中所述,但它似乎没有执行 cshtml 页面: @{ ViewDat
我是一名优秀的程序员,十分优秀!