我正在使用,我面临的挑战是用户何时更新他们的配置文件信息。但不改变他们的CC。
在更新页面中,我只显示4*****1111
因此,如果使用:(下面的代码片段),验证就失败了。
$("#profile-form").validate({
rules: {
ccnum: { required: true, creditcard: true },
exp_year: { ccDate: true},
exp_month: { ccDate: true}
}但是,如果用户输入一个新的CC号码,它就会做它应该做的事情。
因此,我的问题是,如果用户想要更新其他东西,并保持CC卡不动,我能做什么。
有什么想法/建议吗?
发布于 2012-10-06 02:10:45
如果元素的值发生了变化,我将编写一个调用信用卡验证方法的新规则:
$.validator.addMethod("creditcard-custom", function (value, element) {
return this.optional(element) ||
element.value === element.defaultValue ||
$.validator.methods.creditcard.call(this, value, element);
}, $.validator.messages.creditcard);使用
$("#myform").validate({
rules: {
ccnum: {
required: true,
'creditcard-custom': true
},
exp_year: {
ccDate: true
},
exp_month: {
ccDate: true
}
}
});示例: http://jsfiddle.net/andrewwhitaker/kqczf/2/
https://stackoverflow.com/questions/12753640
复制相似问题