2010-04-23 100 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