首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery验证自定义方法不能正常工作

jQuery验证自定义方法不能正常工作
EN

Stack Overflow用户
提问于 2016-10-04 17:27:48
回答 1查看 198关注 0票数 0

有人能解释一下为什么这没有影响到我的助手功能吗?不确定是语法问题还是什么..。

代码语言:javascript
复制
jQuery.validator.addMethod("expDateExistInPast", function (value) {
    return customFunction(value);
}, "Expiration cannot exist in past.");

$("form[name='myForm']").validate({
 rules: {
    exp: {expDateExistInPast: true}
 }, 
 messages: {
     exp: {
        required: "message", 
        expDateExistInPast: "otherMsg"
    }
 }, 
  submitHandler: function (form) {
       form.submit();
  }
})


function customFunction(value) {
    alert("magic here");
}

更新-添加

代码语言:javascript
复制
<input class="myClass" type="text" name="expiration" id="exp" maxlength="4" pattern="^(0[1-9]|1[0-2])[0-9][0-9]$" required="" placeholder="MMYY" aria-required="true" aria-invalid="true">
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-04 20:50:48

你的input包含name="expiration"..。

代码语言:javascript
复制
<input class="myClass" type="text" name="expiration" id="exp" maxlength="4" pattern="^(0[1-9]|1[0-2])[0-9][0-9]$" required="" placeholder="MMYY" aria-required="true" aria-invalid="true">

但是,问题是您的.validate()方法正在rules对象中使用exp .

代码语言:javascript
复制
rules: {
    exp: {
        expDateExistInPast: true
    }
},

必须这里只使用name属性。

代码语言:javascript
复制
rules: {
    expiration: { // <- this is the NAME of the input
        expDateExistInPast: true
    }
},

Working: jsfiddle.net/se4dc18h/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39858355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档