如何验证错误消息并将其包装在输入周围?

路西恩

我在输入中使用了很棒的jQuery validate插件:

<input type="text" name="name" value="" />

我想添加此结构(在输入周围添加div.error并在div中显示我的错误标签),如下所示:

<div class="error">
   <label id="name-error" class="error" for="name">This field is required.</label>
   <input type="text" name="name" value="" />
</div>

我尝试使用errorPlacement函数,但无法成功。

活泼的

jQuery Validate插件会自动创建并切换错误消息元素。

  1. 您可以指定元素的类型,例如divlabel使用等errorElement选项默认值为label

  2. 您可以使用option内部errorPlacement各种jQuery方法指定此错误消息元素的位置,例如在父对象之前,之后,内部默认为input元素“之后”

但是,您不能轻松地将错误消息元素包装在该元素周围input尽管可以在errorPlacement选项中使用jQuery来执行此操作,但是当需要清除错误时会发生问题。当需要清除消息时,该插件将自动删除/隐藏错误消息元素,并且您的input元素将与之一起被删除/隐藏。

解决方案是自己创建外部对象,div并使用highlightunhighlight选项在外部对象上切换错误类div您必须记住还要在其中包含默认代码highlightunhighlight否则默认行为将被破坏。由于所需的类是默认的错误类,因此您可以简单地使用and选项中errorClass参数highlightunhighlight

您的HTML

<div>
   <input type="text" name="name" value="" />
</div>

您的.validate()方法

$('#yourForm').validate({
    // rules and options,
    errorPlacement: function(error, element) {
        error.insertBefore(element);
    },
    highlight: function(element, errorClass, validClass) {
        $(element).addClass(errorClass).removeClass(validClass); // <- default behavior
        $(element).parent('div').addClass(errorClass); // <- add error class to your parent div
    },
    unhighlight: function(element, errorClass, validClass) {
        $(element).removeClass(errorClass).addClass(validClass); // <- default behavior
        $(element).parent('div').removeClass(errorClass); // <- remove error class from your parent div
    }
});

验证错误期间DOM的最终结果

<div class="error">
   <label id="name-error" class="error" for="name">This field is required.</label>
   <input type="text" name="name" value="" />
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用js验证输入并将输入存储在db中

来自分类Dev

验证表单:如何一次空白显示输入错误消息,而不是一一显示?

来自分类Dev

如何在跨度中将输入的文本包装在可编辑的内容中?

来自分类Dev

如何获取用户输入的序言并将其存储

来自分类Dev

角材料输入验证错误消息

来自分类Dev

包装聚合物元素纸张输入的验证错误

来自分类Dev

如何获取突出显示的单词并将其包装在具有数据属性的新元素中?

来自分类Dev

如何从指纹扫描仪获取输入并将其保存

来自分类Dev

要获取Django对象并将其包装在QuerySet中的函数?

来自分类Dev

如何在Octave中将数据点包装在对象周围

来自分类Dev

查找文本(子文本节点)并将其包装在段落中

来自分类Dev

无法将元素包装在XQuery输出周围

来自分类Dev

如何从值中获取“ captureDate”并将其作为消息发送

来自分类Dev

从验证中验证,如何解决验证功能错误消息?

来自分类Dev

使用推理模式时,如何删除输入周围的包装器

来自分类Dev

将Vector类包装在SharpDX Vector结构周围-性能?

来自分类Dev

获取类的名称并将其包装在if语句中

来自分类Dev

将数组包装在SimpleXML对象周围

来自分类Dev

将div包装在排序列表周围

来自分类Dev

如何下载RPM软件包并将其安装在一行中?

来自分类Dev

jQuery在输入下验证发布错误消息

来自分类Dev

将元素包装在主要元素的子元素周围。JQLite

来自分类Dev

jQuery验证错误消息的错误类与输入字段的关系

来自分类Dev

如何将参数传递给JS函数而不将其包装在匿名函数中?

来自分类Dev

如何获取突出显示的单词并将其包装在具有数据属性的新元素中?

来自分类Dev

选择单选输入时如何更改按钮颜色,但输入在标签之前包装在 div 中?

来自分类Dev

如何构建 .ipa 并将其安装在 iphone 表单 xcode 上?

来自分类Dev

输入数组验证消息错误 Laravel 5.5

来自分类Dev

如何将输入的文本分组到数组中并将每 20 个字符包装在一个 div 中

Related 相关文章

  1. 1

    如何使用js验证输入并将输入存储在db中

  2. 2

    验证表单:如何一次空白显示输入错误消息,而不是一一显示?

  3. 3

    如何在跨度中将输入的文本包装在可编辑的内容中?

  4. 4

    如何获取用户输入的序言并将其存储

  5. 5

    角材料输入验证错误消息

  6. 6

    包装聚合物元素纸张输入的验证错误

  7. 7

    如何获取突出显示的单词并将其包装在具有数据属性的新元素中?

  8. 8

    如何从指纹扫描仪获取输入并将其保存

  9. 9

    要获取Django对象并将其包装在QuerySet中的函数?

  10. 10

    如何在Octave中将数据点包装在对象周围

  11. 11

    查找文本(子文本节点)并将其包装在段落中

  12. 12

    无法将元素包装在XQuery输出周围

  13. 13

    如何从值中获取“ captureDate”并将其作为消息发送

  14. 14

    从验证中验证,如何解决验证功能错误消息?

  15. 15

    使用推理模式时,如何删除输入周围的包装器

  16. 16

    将Vector类包装在SharpDX Vector结构周围-性能?

  17. 17

    获取类的名称并将其包装在if语句中

  18. 18

    将数组包装在SimpleXML对象周围

  19. 19

    将div包装在排序列表周围

  20. 20

    如何下载RPM软件包并将其安装在一行中?

  21. 21

    jQuery在输入下验证发布错误消息

  22. 22

    将元素包装在主要元素的子元素周围。JQLite

  23. 23

    jQuery验证错误消息的错误类与输入字段的关系

  24. 24

    如何将参数传递给JS函数而不将其包装在匿名函数中?

  25. 25

    如何获取突出显示的单词并将其包装在具有数据属性的新元素中?

  26. 26

    选择单选输入时如何更改按钮颜色,但输入在标签之前包装在 div 中?

  27. 27

    如何构建 .ipa 并将其安装在 iphone 表单 xcode 上?

  28. 28

    输入数组验证消息错误 Laravel 5.5

  29. 29

    如何将输入的文本分组到数组中并将每 20 个字符包装在一个 div 中

热门标签

归档