我想在 mvc 应用程序中尝试使用 jquery 验证插件的一些简单示例。 我有一个使用这种方法的 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 is not a function
var inputs => $('form').validator();
在 firebug 中,我看到所有需要的 JS 函数都已加载。在控制台中验证:
>>> $.fn.validate
function()
这有什么问题?
最佳答案
您的代码:
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
});
});
关于javascript - jquery 验证脚本的 TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20117480/