我使用Jquery Validate来验证表单。 我已经通过
添加了自定义验证方法$.validator.addMethod
如果我将此方法添加到文本框中,验证将毫无问题地运行。
我希望这个自定义验证方法突出显示我通过JavaScript创建的某个div容器。 如果我更改以下行(在"规则"在.validate调用中)
"MyTextbox":
{
MyMethod: true,
},
要使用我通过JavaScript创建的div的ID,我的自定义验证规则将被忽略(其他规则仍将适用)。
我很难找到相应的文档。似乎我只能添加一个规则输入元素而不是div。 我是以错误的方式接近这个吗?如果验证失败,如何添加在某个div元素之后附加消息的规则?
答案 0 :(得分:4)
两件重要的事情......
1)在name
内使用rules
选项时, 必须 按.validate()
分配规则,并且每个输入字段必须无论如何分配规则,都包含唯一的name
属性。
2)使用此插件,验证只能应用于input
,textarea
和select
元素。周期。强>
解决方法:您可以创建type="hidden"
input
元素进行验证,并使用jQuery将div
中的相关值复制到此隐藏字段中某些触发事件。 You can then manually trigger validation using something like $('#myHiddenInput').valid()
要准确显示错误消息,请使用the errorPlacement
callback function。编写一个带有条件的自定义函数来放置一条消息。