Change location of jQuery validation plugin error message?

时间秒杀一切 提交于 2019-12-18 06:49:21

问题


I am using the jQuery validation plugin and when I add the class required to the textboxes it validates the fields. However, the error message is shown after the text box and I wonder if I can show it after the label to related textbox instead?

I have a page in an iframe and when two or more error messages are shown the form becomes too big to fit in the iframe.

My labels and textboxes:

<asp:Label ID="lblName" runat="server" Text="Your Name" />
                    <asp:TextBox ID="txtName" CssClass="required" runat="server"/>
                    <br />

                    <asp:Label ID="lblEmail" runat="server" Text="Your Email"/>
                    <asp:TextBox ID="txtEmail" CssClass="required email" runat="server"/>
                    <br />

                    <asp:Label ID="lblNumber" runat="server" Text="Your Number"/>
                    <asp:TextBox ID="txtNumber" CssClass="required" runat="server"/>
                    <br />

                    <asp:Label ID="lblSubject" runat="server" Text="Subject"/>
                    <asp:TextBox ID="txtSubject" CssClass="required" runat="server"/>
                    <br />

                    <asp:Label ID="lblDetails" runat="server" Text="Details"/>
                    <asp:TextBox ID="txtDetails" CssClass="required" TextMode="MultiLine" runat="server"/>
                    <br />

                    <asp:Button ID="btnSubmit" CssClass="SubmitButton" runat="server" Text=""  onclick="btnSubmit_Click" />
                    <asp:Label ID="lblResponse" CssClass="Response" runat="server" Text=""></asp:Label>

Thanks in advance.


回答1:


Use errorPlacement. Example:

    $("#field-GeoLatlon").validate({
        rules: {
            "parameters[postcode]": {
                isPostcode: true
            },
            "parameters[houseno]": {
                startsWithNumber: true
            }
        },
        errorPlacement: errorPlacement
    });

function errorPlacement(error, element)
{
    var errorDD = $('<dd class="error"></dd>').insertAfter(element.parent('dd').next('dd'));
    error.appendTo(errorDD);
}


来源:https://stackoverflow.com/questions/3683104/change-location-of-jquery-validation-plugin-error-message

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!