2011-01-06 210 views
0

我想使用JQuery的驗證插件來驗證表單,但我希望它不僅顯示錯誤消息,而且還要更改上面的td的css。我目前有JQuery驗證插件幫助

function myErrorHandle(element) { 
    element.closest("td").addClass("fsValidationError"); 
} 
$("#fsForm691575").validate({ 
    errorPlacement: myErrorHandle, 
    rules: { 
     field7014601: { 
      required: true 
     } 
}); 

其中fsForm691575是我的形式和領域7014601只是一個名稱字段。我只是從我發現的另一個建議中一起破解了myErrorHandle函數,所以如果我可以做到這一點,但仍然可以得到期望的效果,那就太好了。

感謝

+3

向我們展示您的html代碼 – Diablo 2011-01-06 23:28:08

回答

3

我不能迎合特定於您的情況下(無HTML)的答案,但我可以告訴你如何改變驗證的默認的「亮點」行動。

例如,假設下面的HTML:

<form action="#"> 
    <table> 
    <tr> 
     <td> 
     <input id='firstname' name='firstname' class='required' /> 
     </td> 
    </tr> 
    <tr> 
     <td> 
     <input id='lastname' name='lastname' class='required' /> 
     </td> 
    </tr> 
    </table> 
    <input type="submit" value="submit" /> 
</form> 

您可以配置驗證上色父tr紅:

$("form").validate({ 
    errorClass: "error", 
    highlight: function(element, errorClass, validClass) { 
    $(element).closest("tr") 
     .addClass(errorClass) 
     .removeClass(validClass); 
    }, 
    unhighlight: function(element, errorClass, validClass) { 
    $(element).closest("tr") 
     .removeClass(errorClass) 
     .addClass(validClass); 
    } 
}); 

例子:http://jsbin.com/afoju5/3/edit

如果您需要更精細控制顯示錯誤時會發生什麼,請查看showErrors選項。