jqueryvalidation错误出现在文本框中,而不是标签中

jqueryvalidation错误出现在文本框中,而不是标签中,jquery,css,jquery-mobile,jquery-validate,Jquery,Css,Jquery Mobile,Jquery Validate,我有一个似乎有点奇怪的问题,我想是的!!。我正在创建一个小型jquery移动webapp,并决定使用jqueryvalidation来验证我的表单数据。它可以工作,但错误会出现在应该填充的文本框中,而不是出现在文本框下面 有人有什么建议吗?请点击此处: 使用以下命令更新错误位置: errorPlacement: function (error, element) { error.insertAfter(element.parent()); // <- the default } 由于

我有一个似乎有点奇怪的问题,我想是的!!。我正在创建一个小型jquery移动webapp,并决定使用jqueryvalidation来验证我的表单数据。它可以工作,但错误会出现在应该填充的文本框中,而不是出现在文本框下面

有人有什么建议吗?请点击此处:


使用以下命令更新错误位置:

errorPlacement: function (error, element) {
  error.insertAfter(element.parent()); // <- the default
}

由于jQuery移动标记的原因,似乎需要尝试在当前元素的父元素之后插入error元素

$("#newCustomer").validate({
    errorPlacement: function(error, element) {
        error.insertAfter(element.parent()); // <- the default
    },
    rules: {
        surname: "required",
        phoneNumber: "required"
    },
    messages: {
        surname: "Please enter the surname/company name",
    }
});
演示:


在某些情况下,您可能需要根据正在处理的标记类型添加一些有条件的放置

这是因为jQuery mobile样式。。。。试一试Hi您更改了什么?查看errorPlacement-insertAfterelement.parent-您可能需要使用一些条件语句来确定在何处添加错误元素根据接收错误的元素,您需要放置/重新定位错误消息。这太完美了-谢谢:D
$("#newCustomer").validate({
    errorPlacement: function(error, element) {
        error.insertAfter(element.parent()); // <- the default
    },
    rules: {
        surname: "required",
        phoneNumber: "required"
    },
    messages: {
        surname: "Please enter the surname/company name",
    }
});