2013-01-31 37 views
5

Sử dụng plugin xác thực jquery và tôi đang cố gắng ghi đè hành vi mặc định của nó. đây là một ví dụ về html của tôi:Jquery xác thực plugin cách thêm lớp lỗi vào nhãn

<table> 
<tr> 
    <td> 
    <label for="my-input>Name</label> 
    </td> 
</tr> 
<tr> 
    <td> 
    <input type="text" class="required" id="my-input /> 
    </td> 
</tr> 
</table> 

Tất cả những gì tôi muốn làm là thêm lớp .error vào nhãn hiện có, sau đó loại bỏ nó khi trường đó được xác thực.

Cảm ơn.

Trả lời

12

đây là hành vi mặc định, bạn chỉ cần dừng thông báo lỗi được hiển thị trên trang. Bạn có thể thực hiện điều này bằng cách ghi đè lỗiPlacement

$('form').validate({ 
errorPlacement: function() { } 
}); 

EDIT.

xin lỗi hiểu sai bit câu hỏi - mã bên dưới công trình nhưng có lẽ là một cách tốt hơn

$('form').validate({ 
    // make sure error message isn't displayed 
    errorPlacement: function() { }, 
    // set the errorClass as a random string to prevent label disappearing when valid 
    errorClass : "bob", 
    // use highlight and unhighlight 
    highlight: function (element, errorClass, validClass) { 
     $(element.form).find("label[for=" + element.id + "]") 
     .addClass("error"); 
    }, 
    unhighlight: function (element, errorClass, validClass) { 
     $(element.form).find("label[for=" + element.id + "]") 
     .removeClass("error"); 
    } 
}); 

mã trên xuất phát từ ví dụ nổi bật về điểm options docs

+0

trên. Cảm ơn nhiều....!!!!! –

2
errorElement: "label", 
errorPlacement: function(error, element) { 
    error.insertBefore(element.parent().children("br")); 
}, 
highlight: function(element) { 
    $(element).parent().addClass("error"); 
}, 
unhighlight: function(element) { 
    $(element).parent().removeClass("error"); 
} 
Các vấn đề liên quan