jQuery在单个元素上验证errorPlacement

jQuery在单个元素上验证errorPlacement,jquery,jquery-validate,Jquery,Jquery Validate,感觉这个问题以前有人问过,但似乎没有任何问题能解决我的问题,所以提前道歉 因为我使用的是ASP.NET,无法预测要验证的控件的名称,所以我正在设置jquery验证规则,如下所示: jQuery('textarea[id$=MessageTextInput]').rules("add", { required: true, messages: { required: "required"} }); jQuery('input[id$=LinkTextInput]').rules("add", {

感觉这个问题以前有人问过,但似乎没有任何问题能解决我的问题,所以提前道歉

因为我使用的是ASP.NET,无法预测要验证的控件的名称,所以我正在设置jquery验证规则,如下所示:

jQuery('textarea[id$=MessageTextInput]').rules("add", { required: true, messages: { required: "required"} });
jQuery('input[id$=LinkTextInput]').rules("add", { required: true, messages: { required: "required"} });
jQuery('input[name$=PositionChoiceInput]').rules("add", { required: true, messages: { required: "required"} });
而不是:

$('#aspnetForm')。验证({options and rules});//这需要控件名

问题是,第三条规则是radiobuttonlist,错误消息没有放在正确的位置。它直接放在第一个单选按钮之后,而我希望它放在最后一个单选按钮列表之后

jQuery('textarea[id$=MessageTextInput]').rules("add", { required: true, messages: { required: "required"} });
jQuery('input[id$=LinkTextInput]').rules("add", { required: true, messages: { required: "required"} });
jQuery('input[name$=PositionChoiceInput]').rules("add", { required: true, messages: { required: "required"} });
但是,当我添加errorPlacement选项时,我似乎无法使该方法工作。我还尝试了以下方法:

jQuery('#aspnetForm').validate({ errorPlacement: function (error, element) {
            if (element.hasClass('sfRadioList')) {
                error.insertAfter(element.parent("ul"));
            } 
        }
        });
jQuery('textarea[id$=MessageTextInput]').rules("add", { required: true, messages: { required: "required"} });
jQuery('input[id$=LinkTextInput]').rules("add", { required: true, messages: { required: "required"} });
jQuery('input[name$=PositionChoiceInput]').rules("add", { required: true, messages: { required: "required"} });
但这仍然没有奏效。如何设置一个元素的位置

提前谢谢
higgsy

这里有一些对我有用的代码

errorPlacement: function(error, element) {
if (element.attr("name") == "pdfEmailAddress")
    {
        error.insertAfter("ul.slinks");
    }
    else
    {
        error.insertAfter(element);
    }
}

对我来说!谢谢你的回答。