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

时间:2014-09-21 19:46:54

标签: javascript jquery asp.net jquery-validate

我使用Jquery Validate来验证表单。 我已经通过

添加了自定义验证方法
$.validator.addMethod

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

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

"MyTextbox": 
{
  MyMethod: true,
},

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

我很难找到相应的文档。似乎我只能添加一个规则输入元素而不是div。 我是以错误的方式接近这个吗?如果验证失败,如何添加在某个div元素之后附加消息的规则?

1 个答案:

答案 0 :(得分:4)

两件重要的事情......

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

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

解决方法:您可以创建type="hidden" input元素进行验证,并使用jQuery将div中的相关值复制到此隐藏字段中某些触发事件。 You can then manually trigger validation using something like $('#myHiddenInput').valid()


要准确显示错误消息,请使用the errorPlacement callback function。编写一个带有条件的自定义函数来放置一条消息。