我无法重新添加使用 Jquery Validation 插件创建的自定义方法。我在 jsfiddle 上发布了一个简单的示例,以显示我的表单的基本功能......用户有一个表单,他们在其中从文本字段中选择一所学校(实际上是一个自动完成)。该表单有一个自定义规则,以便通过 .blur 事件设置 school_id(实际上,自动完成设置了 school_id,但这对于一个简单的示例就足够了)。
现在他们可以切换到从常规下拉列表中选择学校/如果他们喜欢这样选择(通过单击链接)。所以我删除了 school_id 验证规则,并为下拉列表添加了一个验证规则。但是如果用户切换回旧的,我似乎无法重新添加自定义自动完成规则。
我犯错的代码的特定部分在这里:
$("#school_autocomplete").rules("add", {
school_id_required: "",
messages: {
required: "* Please type and pick a school"
}
});
这是一个简单的功能示例:http:
//jsfiddle.net/armyofda12mnkeys/4jsgQ/6/
尝试去那里^,然后立即单击提交,(你得到一个错误,这是正确的)。然后点击'Show DropDown',点击Submit(你得到新添加的错误,这是正确的),然后点击'Show Text (Autocomplete)',点击Submit。您现在收到“警告:没有为 school_autocomplete 定义的消息”,这是不正确的。
通常在那个school_id_required: ""行上,你会有类似required: true或"regex": "^some.+regex$"我相信...但是对于自定义规则,它似乎不起作用当我通过“”,假/真,“等等”作为要测试的值时正确。我看到一个例子,有人使用了类似 school_id_required: ["someParam"]的东西,所以我尝试给它一个假值以通过数组传递也无济于事。
谢谢你的帮助!