javascript - jquery 验证 addMethod 不工作

标签 javascript jquery jquery-validate

我在jsp中有一个div如下:

 <input type="text" id="year" placeholder=" Year"  class="year"  name= "year" value=""/>

我想计算当前年份和输入年份之间的差异。如果值不在某个范围内,我必须显示错误。这是我的客户 jquery 验证器函数。

jQuery.validator.addMethod('validAge', function (value, element, params) {
    alert("inside add method");
    var currentYear = (new Date).getFullYear();
    var range = currentYear - $element.val();;
    if(range >10 && range< 70) 
        {
        return  true;
        }
    return false;
}),

但它在 element.val 处显示错误 我已将规则定义为

 $('#signup_form').validate({ // initialize the plugin

    rules: {
        year: {
            validage: true,
           },
    },
    messages: {
        year: "Invalid year",
   },
   },
  });

最佳答案

在jquery中addMethod元素(要验证的元素)和value(验证元素的当前值)

 jQuery.validator.addMethod("validAge", function (value, element, params) {
        alert("inside add method");
        var currentYear = (new Date).getFullYear();
        var range = currentYear - value;

       return this.optional(element) || (range >10 && range< 70) 

    },'Enter range in between 10 to 70');

删除不需要的逗号并区分大小写。

var validator = $('#form').validate({
    rules: {
        year: {
            validAge: true
        }
    },
    messages: {
        year: "Invalid year"
    }
});

关于javascript - jquery 验证 addMethod 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29298100/

相关文章:

javascript - 我可以将 $http.get 中的值传递给 AngularJS 中的另一个函数吗

javascript - 当开发人员工具打开 IE11 时,网站表现不同

javascript - 通过调用javascript函数在html中设置参数值

jquery - 如何增加多选下拉列表中两个选项之间的行高

javascript - magnific-popup 传递一个变量

jquery - Jquery 中的复选框和标签之间显示的验证错误

javascript - 如果我把它放在submitHandler中,为什么我的按钮在jquery中会点击两次?

javascript - 如何使用 BundleTransformer YuiJsMinifier 删除评论

jQuery 验证插件错误 : TypeError: validator is undefined

javascript - 如果不是使用 jQuery 唯一发生的情况,是否从 dom 中删除元素?