jQuery validate-表单顶部和每个元素的错误消息
我正在使用jQueryValidate插件,我想把错误放在无效表单元素旁边。但是,我也希望在表单顶部列出所有错误 选项设置似乎只允许您执行其中一项操作,但不能同时执行两项操作 因此,如果有一种方法可以设置选项,这样就可以轻松解决问题jQuery validate-表单顶部和每个元素的错误消息,jquery,jquery-validate,Jquery,Jquery Validate,我正在使用jQueryValidate插件,我想把错误放在无效表单元素旁边。但是,我也希望在表单顶部列出所有错误 选项设置似乎只允许您执行其中一项操作,但不能同时执行两项操作 因此,如果有一种方法可以设置选项,这样就可以轻松解决问题 为了解决这个问题,我编写了一段jQuery代码来获取错误消息并将它们添加到表单顶部(并将它们链接到错误位置)。但是,当我尝试在validate方法中调用此函数(使用invalidHandler或errorPlacement处理程序)时,一切正常,但表单被提交。我不
为了解决这个问题,我编写了一段jQuery代码来获取错误消息并将它们添加到表单顶部(并将它们链接到错误位置)。但是,当我尝试在validate方法中调用此函数(使用invalidHandler或errorPlacement处理程序)时,一切正常,但表单被提交。我不想提交表单,因为jQuery是用来验证客户端的 我的验证选项如下所示:
$("#memberRegistration").validate({
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
var message = errors == 1
? 'You missed 1 field. It has been highlighted'
: 'You missed ' + errors + ' fields. They have been highlighted';
$("div.errorBox span").html(message);
}
$("div.errorBox").removeClass('noDisplay');
errorCopy(); // <-- my custom function
},
wrapper: "div",
errorPlacement: function(error, element) {
element = element.closest('li');
element = element.children(':first-child');
error.insertBefore(element);
error.addClass('message');
},
meta: "validate",
rules: {
"memberRegistrationFormDetails.Title": { required: true },
$(“#成员注册”)。验证({
invalidHandler:函数(表单、验证器){
var errors=validator.numberOfInvalids();
如果(错误){
var message=errors==1
?“您错过了1个字段。该字段已突出显示”
:“您错过了“+错误+”字段。它们已高亮显示”;
$(“div.errorBox span”).html(消息);
}
$(“div.errorBox”).removeClass('noDisplay');
errorCopy();//找到了一个解决方案。我直接将相关代码添加到errorPlacement处理程序,而无需从其他地方调用函数,并进行了一些修改:
errorPlacement: function(error, element) {
element = element.closest('li');
element = element.children(':first-child');
error.insertBefore(element);
error.addClass('message');
$(function() { // my function
var errorIndex = $(error).index('div');
var errorId = 'errordiv' + errorIndex.toString();
$(error).attr('id', errorId);
$('.errorList').append('<li><a href="#' + errorId + '">' + $(error).text() + '</a></li>');
});
},
errorPlacement:函数(错误,元素){
元素=元素。最近('li');
element=element.children(':first-child');
错误。insertBefore(元素);
error.addClass('message');
$(function(){//my function
var errorIndex=$(error.index('div');
var errorId='errordiv'+errorIndex.toString();
$(错误).attr('id',errorId);
$('.errorList')。追加('');
});
},
此代码接收错误消息并将其链接添加到表单顶部的“我的错误列表”容器中。您的页面上是否存在脚本错误?是否确定函数已定义?函数已定义,但我不确定是否找到了定义。总之,找到了另一个解决方案,如下所示。谢谢!