jim*_*ode 6 jquery jquery-validate
我搜索了堆栈溢出,无法找到我的问题的答案.
我正在使用bassistance jquery验证插件,它除了一个特定的部分,自定义方法以外都运行良好.
方法正在工作只是调用$('selector').valid()告诉我元素是无效的,即使它应该是有效的.
这是由于this.optional(元素)返回"dependency-mismatch".
我的问题是:
在检查元素上的可选项时,依赖项不匹配意味着什么?
依赖是否意味着它是可选的,但有其他依赖性?
那么我的自定义方法应该检查"dependency-mismatch"的可选字段?
我不清楚回归的原因是什么.
我的自定义方法是否也会返回依赖项不匹配?或者我应该处理它?
这是我的自定义方法:
$.validator.addMethod(
"ukphonenumber",
function (value, element, validate) {
if (validate) {
var regexp = "\\s*\\(?((\\+0?44)?\\)?[ \\-]?(\\(0\\))|0)((20[7,8]{1}\\)?[ \-]?[1-9]{1}[0-9]{2}[ \\-]?[0-9]{4})|([1-8]{1}[0-9]{3}\\)?[ \\-]?[1-9]{1}[0-9]{2}[ \\-]?[0-9]{3}))\\s*";
var re = new RegExp(regexp);
return this.optional(element) || re.test(value);
}
else {
return true;
}
},
"Please check your input."
);
Run Code Online (Sandbox Code Playgroud)
这将规则添加到我的输入中:
$("#<%=txtTelephoneNumber.ID %>").rules("add", {
required: false,
ukphonenumber: true,
messages: {
required: "Please enter your telephone number",
ukphonenumber: "Your telephone number is invalid"
}
});
Run Code Online (Sandbox Code Playgroud)
我还给库的开发人员发了电子邮件并得到了这样的回复:这解决了问题。
\n\n有什么理由使用 required:false 而不是 required:true 吗?如果该字段不是必填字段,请忽略必填规则,而不是将其设置为 false。
\n\n您还可以尝试在自定义方法中省略对 this.Optional(element) 的调用。
\n\n问候\nJ\xc3\xb6rn
\n| 归档时间: |
|
| 查看次数: |
3231 次 |
| 最近记录: |