gpt4 book ai didi

jquery.validate、jquery.metadata 和 html5 数据

转载 作者:太空狗 更新时间:2023-10-29 15:29:24 28 4
gpt4 key购买 nike

我正在研究使用 html5 数据属性将验证规则传递给 jquery.validate 作为权宜之计,直到插件更新为 HTML5 支持。我正在使用 jquery 1.4.2、jquery.validate 1.7 和 jquery.validate 2.1。在我的 HTML 中,我使用如下代码:

<input name="foo" type="text" data-validate="{required:true,digits:true}" />

在我的 jQuery 中,我正在执行以下操作:

<script type="text/javascript">
$.metadata.setType ("html5");
$(function ()
{
$('#myForm').validate ({debug:true});
});
</script>

这只会导致错误消息,validator.methods[method] 未定义

我确实在具有 data-validate 属性的元素上执行了 metadata(),我得到了一个名为 validate 的返回对象,其中设置了我的属性,所以我知道元数据正在查找属性并从中加载,但是验证插件似乎无法处理它。如果我返回 class="{validate:{...}}"并注释掉配置元数据以使用 HTML 5 的行,它就会按预期工作。

是我做错了什么,还是验证和/或元数据插件有问题?

最佳答案

如果有人使用较新版本的 jQuery、jQuery Validate 和 jQuery 元数据插件遇到此问题,我找到的所有将这些一起使用的文档都已过时。虽然 jQuery Validate 插件仍然可以使用 jQuery 元数据,但较新版本的 jQuery 元数据不再支持“html5”作为一种类型,因为 jQuery 现在原生支持 HTML5 数据属性作为元数据的来源。但是,jQuery Validate 尚未更新为使用它。

这个解决方案(至少在更新 jQuery Validate 以支持使用 data- 属性的元数据的内置支持之前)是使用 'attr' 类型并直接指向您的 data- 属性。例如:

$.metadata.setType("attr", "data-validate");
$("form").validate();

请注意,无需传递“meta”标记,因为元数据库会直接转到正确的属性以读取值。这是使用所有库的更新版本的修改后的 jsFiddle:

http://jsfiddle.net/Wcu4L/

关于jquery.validate、jquery.metadata 和 html5 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4105959/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com