使用JQuery Validation插件获取重复的错误消息

Joh*_*ohn 5 validation jquery plugins jquery-validate

我是JQuery和Validation插件的新手.

简短说明:我希望我的所有错误消息都显示在表单顶部的一个div中,而不是显示在每个标签旁边.经过一番小小的搜索和网络搜索之后,我想出了以下内容,它有效,但是sourceurl:消息在验证时出现了两次.我不知道为什么.任何帮助,将不胜感激.干杯,约翰

源代码:

<form name="siteauth" id="siteauth" action="savedata" type="POST">
    <div class="message"></div>
    <fieldset>
        <label>Short Description:</label>
        <br><input id="shortdescription" size="75" type="text" maxlength="50"  name="shortdescription"/>
        <br><label>Source URL:</label>
        <br><input id ="sourceurl" size="75" type="text" maxlength="500"  name="sourceurl"/>
        <br><label>Callback URL:</label>
        <br><input id="callbackurl"  size="75" type="text" maxlength="500" name="callbackurl"/>
        <br><label>Callback Content:</label>
        <br><input id="in4"  size="75" type="text" maxlength="100" name="callbackcontent"/>
        <br>
        <br><input type="submit" value="Add"/>
    </fieldset>
</form>

<script src="http://code.jquery.com/jquery-latest.js"></script>
 <script type="text/javascript" src="http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js"></script>


<script>

    $(document).ready(function(){
        $("#siteauth").validate({
            rules: {
                shortdescription: "required",
                sourceurl: "required"
            },
            messages: {
                shortdescription: "Enter a short description. ",
                sourceurl: "Enter a Source URL. "
            },
            errorElement: "div",
            wrapper: "div class=\"message\"",
            errorPlacement: function (error, element){
                error.appendTo($(".message"));
            }
        });

    });
Run Code Online (Sandbox Code Playgroud)

svk*_*svk 0

使用 ID 属性代替类。
例如 <div class="message" id="errmsg"></div>,将 Jquery 行更改为
errorPlacement: function (error, element) { error.appendTo($("#errmsg")); }

活生生的例子在这里