我想在mvc应用程序中尝试使用jquery validate插件的一些简单示例。 我有一个使用此方法的JS模块:
ValidateRestriction: function (element) {
var inputs = $('form').validator();
inputs.data("validator").checkValidity();
$(element).validate({
rules :{
field: {
number: true,
"min": "1",
"max": "Infinity"
},
ignore: ".ignore",
onkeyup: false
}
});
}
但在控制台中我收到错误:
TypeError:$(...)。validator不是函数
var inputs => $( '形式')验证器();
在firebug中,我看到所有需要的JS函数都被加载了。在控制台中验证:
>>> $.fn.validate
function()
这有什么问题?
答案 0 :(得分:0)
validator()和checkValidity()不是jquery validate插件的一部分。删除前两行,然后尝试最简单的情况,看看你的设置是否正确
$(function(){
$('form').validate();
})
在表单中的某些元素上放置一个class =“required”并测试它是否正常工作
答案 1 :(得分:0)
您的代码:
ValidateRestriction: function (element) {
var inputs = $('form').validator();
inputs.data("validator").checkValidity();
$(element).validate({
rules :{
field: {
number: true,
"min": "1",
"max": "Infinity"
},
ignore: ".ignore",
onkeyup: false
}
});
}
这些是你的问题......
1)jQuery Validate插件中没有validator()
和checkValidity()
这样的东西。
2)你不能将.validate()
附加到输入元素,假设你的element
参数应该是什么。 .validate()
方法仅附加到form
。
3)您的onkeyup
和ignore
选项放置不当。这些是rules
选项的兄弟姐妹,不是 field
的兄弟姐妹。
4)我从来没有听说过为max
设置"Infinity"
规则。如果省略max
规则,则最大值可以是无限的,也可以是无限的。
5)您不需要在方法名称周围使用引号,也不需要围绕数值引用。
6)我添加了required
规则进行演示。如果您不想强制输入,请将其删除。
$(document).ready(function () {
$('#myform').validate({
rules: {
field: {
required: true,
number: true,
min: 1
}
},
ignore: ".ignore",
onkeyup: false
});
});