2011-11-07 69 views
2

我想将错误的名称添加到我的函数中,以便用户知道哪些字段必须检查。Jquery validate showerrors display name

这是我目前功能

showErrors: function(errorMap, errorList) { 
      var summary = "Please check following errors:"; 
      $.each(errorList, function() { 
       summary += " * " + this.message + "<br>" ; 
      }); 
      $('.errorbox').html(summary); 
      this.defaultShowErrors(); 
     }, 
     submitHandler: function() { 
      alert("submitted!"); 
     } 


    }); 

我怎样才能做到这一点?

+0

我不知道,我不得不将其标记为解决。谢谢你让我知道! mansuUK在上一个问题中提出的小提琴显示了它现在如何实现。 http://jsfiddle.net/manseuk/xTdYr/2/ – logistef

回答

2

当您使用Bassistance.de验证插件时,最简单的选择是向每个输入控件的参数title添加一个友好的insturction消息。此消息将在出现的错误消息中用作说明文本。这里是展示它是如何工作的更新小提琴:http://jsfiddle.net/xTdYr/3/

或者,您也可以手动使用messages参数添加规则的.validate()方法instanciation通话,详情点击这里:http://docs.jquery.com/Plugins/Validation/rules

+0

推荐。如果这是不可能的,你可以采用名称属性,如'summary + =“*”+ this.element.name +“:”+ this.message +“\ n”;' –

+0

表单正在处理不同的语言所以使用这些消息不是最好的选择,因为我从不同的语言文件加载标准消息。这样错误反馈看起来完全相同。是否真的没有选项将名称值添加到反馈消息中? – logistef

+0

马可的答案为我工作。感谢其他人的建议。 – logistef

0

扩展选项与messages: {name:"name error"}

现场演示:http://jsfiddle.net/gsBTC/

$('#newform').validate({ 
    errorPlacement: function(error, element) { 
     if (element.is(":radio")) { 
      error.prependTo(element.parent()); 
     } 
     else { // This is the default behavior of the script 
      error.insertAfter(element); 
      console.log('here'); 
     } 
    }, 
    showErrors: function(errorMap, errorList) { 
     var summary = "You have the following errors: \n"; 
     $.each(errorList, function() { 
      summary += " * " + this.message + "\n"; 
     }); 
     $('#errordiv').html(summary); 
     this.defaultShowErrors(); 
    }, 
    submitHandler: function() { 
     alert("submitted!"); 
    }, 
    messages: { 
    name : "name error", 
    subject: "subject error", 
    message: "message error" 
    } 
}); 
+0

问题是表单是多语言的。所以我使用不同语言的语言文件。我可以为每个元素添加一个特定的消息,但是我有三种不同的语言中的70个元素。这是很多的消息。所以我更喜欢在每种语言中使用一般消息并添加“名称”,以便用户知道该字段是否不正确。 – logistef