jquery 验证脚本的类型错误

TypeError for jquery validation script

本文关键字:类型 错误 脚本 验证 jquery      更新时间:2023-09-26

我想在 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
    }
    });
}

但是在控制台中我收到一个错误:

类型错误: $(...(。验证器不是一个函数
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 Validify插件中没有validator()checkValidity()之类的东西。

2(你不能.validate()附加到输入元素,假设这就是你的element参数应该是什么。 .validate()方法仅附加到form

3( 您的onkeyupignore选项放置不当。 这些是rules选项的兄弟姐妹,而不是field的兄弟姐妹.

4(我从未听说过为"Infinity"设置max规则。 如果省略max规则,则最大值可以是无限的,也可以是无限的。

5( 方法名称两边不需要引号,数值两边也不需要引号。

6(我添加了required规则进行演示。 如果您不想使输入成为必填项,请将其删除。

$(document).ready(function () {
    $('#myform').validate({
        rules: {
            field: {
                required: true,
                number: true,
                min: 1
            }
        },
        ignore: ".ignore",
        onkeyup: false
    });
});

工作演示:http://jsfiddle.net/baCBE/

validator(( 和 checkValidity(( 不是 jquery 验证插件的一部分。 删除前两行,然后尝试最简单的情况,看看您的设置是否正确

$(function(){
 $('form').validate();
})

在表单中的某些元素上放置一个class="required",并测试它是否有效