我一直在试图弄清楚为什么电话号码的验证会触发电话号码字段。我同时使用Validator 插件和掩码输入插件来为一组字段设置一些验证。我不怀疑这个特定问题与屏蔽输入插件的使用有关,但无论如何我都会提到它。
如果填写了任何字段(扩展字段除外),则所有字段(扩展字段除外)都是必需的。该代码正在做它应该做的事情,但验证正在触发我不想要的额外验证。电话号码正在检查长度,即使我没有在需要的地方编码任何东西。
$("#requestform").validate({
rules: {
namedepa: {
skip_or_fill_minimum: [6, ".section"]
},
techdepa: {
skip_or_fill_minimum: [6, ".section"]
},
conphodepa: {
skip_or_fill_minimum: [6, ".section"],
maskedPhone: true
},
techemaildepa: {
skip_or_fill_minimum: [6, ".section"]
},
adddepa: {
skip_or_fill_minimum: [6, ".section"]
},
roomdepa: {
skip_or_fill_minimum: [6, ".section"]
}
},
onfocusout: function (element) {
$(element).valid();
},
focusCleanup: true,
errorClass: "error"
});
var ErrorMessage = " Required";
jQuery.extend(jQuery.validator.messages, {
skip_or_fill_minimum: ErrorMessage,
required: ErrorMessage
});
我创建了一个JSFiddle来演示我遇到的问题。如果您浏览字段,当您到达并传递电话号码字段时,会出现“您必须输入不超过 10 个字符”的消息。
我不知道从这里去哪里。我创建的 JsFiddle 也有我创建的 maskedPhone 验证器,虽然我不认为这是一个问题,但我已经测试了我在 www.regexpal.com 网站上使用的电话号码。