jquery验证库重新定位错误消息

时间:2015-08-19 21:13:03

标签: jquery jquery-validate

嘿伙计我在这里使用jquery验证库http://jqueryvalidation.org/验证我的选择下拉列表是我的脚本

    <script>
        $(document).ready(function () {

            $("#selfServiceForm").validate({

                rules: {
                    GroupBy1Value: {
                        required: true
                    }
                },

                errorPlacement: function(error, element) {
                    error.insertBefore(element.parent());
                }

            });

        });
    </script>

这都是从他们的文档中复制的。而不是在元素之前显示它。如何在span元素中的h4标签后显示它,以便它可以坐在h4标签旁边

<div class="col-sm-6">
            <div class="title">
                <h4><label for="GroupBy1">Group By</label></h4>
            </div>
            <div class="content">
                <select id="GroupBy1Value" name="GroupBy1Value"><option value=""></select>
                <select id="GroupBy2Value" name="GroupBy2Value"><option value=""></select>
                <select id="GroupBy3Value" name="GroupBy3Value"><option value=""></select>
            </div>
        </div>

忽略剃刀语法。感谢所有帮助

更新了删除的RAZOR语法并添加了RENDERED MARK UP,也没有在选择元素中添加选项

1 个答案:

答案 0 :(得分:1)

  

如何在span元素中的h4标记之后显示它,以便它可以位于h4标记旁边

  1. 如果您希望错误在span范围内,则需要将the errorElement option更改为"span"

    errorElement: "span"
    
  2. 使用jQuery DOM遍历方法的组合来实现...

    errorPlacement: function(error, element) {
        error.insertAfter(element.parent().prev('.title').find('h4'));
    }
    

    element.parent() - 获取element对象的父级

    .prev('.title') - 然后使用课程title获得前一个兄弟姐妹。

    .find('h4') - 然后获得h4

    的后代

    error.insertAfter(...) - 然后插入error对象after匹配的元素。