我正在使用Jquery Validate来验证表单。我通过添加了一种自定义验证方法
$.validator.addMethod
如果我将此方法添加到文本框中,验证将毫无问题地工作。
我希望这个自定义验证方法能够突出显示我通过JavaScript创建的某个div容器。如果我更改以下行(.validate调用中的"规则"内部)
"MyTextbox":
{
MyMethod: true,
},
要使用我通过JavaScript创建的div的ID,我的自定义验证规则将被忽略(其他规则仍然适用)。
我很难找到相应的文档。似乎我只能添加一个规则输入元素,而不能添加到div。我是不是走错路了?如果验证失败,我如何添加一条规则,在某个div元素后添加一条消息?
两件重要的事情。。。
1) 在.validate()
中使用rules
选项时,必须按name
分配规则,并且无论如何分配规则,每个输入字段都必须包含唯一的name
属性。
2) 使用此插件,验证只能应用于input
、textarea
和select
元素。期间
解决方法:可以创建一个type="hidden"
input
元素进行验证,并在某个触发事件发生时使用jQuery将div
中的相关值复制到此隐藏字段中。然后,您可以使用类似$('#myHiddenInput').valid()
的东西手动触发验证。
为了准确地放置错误消息,您可以使用errorPlacement
回调函数。编写一个带有放置一条消息的条件的自定义函数。