2010-04-23 105 views
2

function validateEmail(){ // ############################ ### $( “#contato_form”)验证({ errorContainer: “#wrapperError”, errorLabelContainer: “#wrapperError span.error”, 调试:真实, 规则:{ 诺姆:{要求:真}, 电子邮件:{要求:真正}, mensagem:{要求:真正} }, 消息:{ 诺姆:{要求: 'Informe SEU诺姆'}, 电子邮件:{要求:“Informe嗯endereço emailválido。'}, mensagem:{要求: 'POR青睐,escreva SUA mensagem。'}
}, submitHandler:函数(){$ 阿贾克斯({ 类型: “POST”, 网址: “http://www.mydomain.com/sendemail.php”, 数据: ({nome:$(“input#nome”).val(),email:$(“input#email”).val(),mensagem:$(“textarea#mensagem”).val()}), 成功:function(msg){('div#enviado')。html('').append(msg); } }); } }); }jQuery验证插件 - 只显示errorContainer的第一个错误

当我提交。我得到了这个错误信息:

Informe seu nome.Informe um endereço email válido.Por favor, escreva sua mensagem. 

我怎样才能得到第一个错误没有errorContainer?一旦第一输入就可以了,然后下一个错误等..

感谢

回答

0

不知道这是否会工作,但也许你可以使用下面的代码更改submitHandler函数的错误文本第一件事:

var errorSpan = $('#wrapperError span.error'); 
errorSpan.text(errorSpan.text().match(/^[^.]*\.?/g)); 
7
showErrors: function(errorMap, errorList) { 
    if (errorList.length) { 
     var s = errorList.shift(); 
     var n = []; 
     n.push(s); 
     this.errorList = n; 
    } 
    this.defaultShowErrors(); 
}, 

该代码去除插件errorList但第一确认完成之后,但是示出它之前所有的错误因素。我认为,这可以用较短的方式编写,但留下来以便于理解解决方案。我希望这个帮助。还有一句话......有时候,在某些情况下,而不是只有一个错误信息,你可以看到所有这些信息。为了防止这种尝试组字段通过下面的代码来验证(如为):

groups: { 
     logon: "login password" 
    },messages : { 
     login : {required:"Enter login"}, 
     password : {required:"Enter password"} 
    } 
+0

感谢伊戈尔,我贴在计算器这个问题,但无人回应,最后我再次搜索,发现在这里。这正是我所期待的。 – teenup 2010-12-02 04:56:39

+0

我很高兴有人发现我的解决方案有用。我只是探索插件的代码,看看它是如何工作的 - 使用什么变量,结构和内部函数。当通常缺少一些所需的功能时,我通常会这样做,或者甚至在插件中添加我自己的功能。 – Igor 2011-02-21 09:25:54