我正在以某种复杂的形式使用 jquery 验证。通过将类分配给表单字段,在代码中添加了验证规则,但我似乎无法使用额外的参数使其工作。恐怕我对 jQuery 文档不太走运。
下面是一个例子,说明什么对我有用,什么没用,这个例子显然不是很有用。
工作(显示除 之外的任何错误a
)
(伪代码)
$fieldXclasses = "myrule";
生成的 HTML
<input id="x" name="x" value="fromdatabase" class="myrule error" type="text">
js方法:
jQuery.validator.addMethod("myrule", function(value, element) {
return this.optional(element) || /^a$/.test(value);
}, "Please enter 'a'");
它具有“错误”,因为“fromdatabase”显然不是额外的类a
,因此它使“myrule”功能失败。当我a
在该字段中键入时,它会class="docnmr valid"
按预期更改。我的结论是我的验证设置适用于简单的情况,所以我不需要在加载验证插件时寻找错误。
不工作:
(伪代码)
$fieldXclasses = "myrule:1";
生成的 HTML
<input id="x" name="x" value="fromdatabase" class="myrule:1 valid" type="text">
js方法:
jQuery.validator.addMethod("myrule", function(value, element,param) {
return this.optional(element) || /^a$/.test(value);
}, "Please enter 'a'");
现在初始状态从一开始就是错误的:它应该是错误而不是有效,因为它不符合要求。我假设该类没有被解析为使用as 参数myrule:1
调用该myrule
函数的东西。1
但这是我认为添加参数的方法,尽管我在 jquery-documentation 中找不到正确的方法。
谁能启发我如何添加额外的参数?
对于背景:最终目标是使用另一个字段值作为参数,因为它们相互依赖。另一种选择肯定是忘记参数和this
规则中的对象以找到正确的字段。不确定这是否可行。