Jquery使用自定义验证规则验证任意HTML元素



我正在使用Jquery Validate来验证表单。我通过添加了一种自定义验证方法

$.validator.addMethod

如果我将此方法添加到文本框中,验证将毫无问题地工作。

我希望这个自定义验证方法能够突出显示我通过JavaScript创建的某个div容器。如果我更改以下行(.validate调用中的"规则"内部)

"MyTextbox": 
{
  MyMethod: true,
},

要使用我通过JavaScript创建的div的ID,我的自定义验证规则将被忽略(其他规则仍然适用)。

我很难找到相应的文档。似乎我只能添加一个规则输入元素,而不能添加到div。我是不是走错路了?如果验证失败,我如何添加一条规则,在某个div元素后添加一条消息?

两件重要的事情。。。

1) 在.validate()中使用rules选项时,必须name分配规则,并且无论如何分配规则,每个输入字段都必须包含唯一的name属性。

2) 使用此插件,验证只能应用于inputtextareaselect元素。期间

解决方法:可以创建一个type="hidden" input元素进行验证,并在某个触发事件发生时使用jQuery将div中的相关值复制到此隐藏字段中。然后,您可以使用类似$('#myHiddenInput').valid()的东西手动触发验证。


为了准确地放置错误消息,您可以使用errorPlacement回调函数。编写一个带有放置一条消息的条件的自定义函数。

最新更新