2010-09-28 33 views
6

Chúng tôi có bất kỳ chức năng nào trả về tất cả các thông báo lỗi khi xác thực biểu mẫu không?Tôi làm cách nào để hiển thị lỗi trong xác thực jQuery?

Tôi đã thử sử dụng chức năng mặc định defaultshowerros() nhưng nó trả về thông báo lỗi cho phần tử hiện đang xác thực. Làm thế nào tôi có thể nhận được tất cả các thông báo lỗi của toàn bộ biểu mẫu?

+0

bạn có thể cung cấp liên kết đến plugin xác thực bạn đang sử dụng không? Hoặc thậm chí tốt hơn một số mã nguồn :) – Flatlin3

+0

Tôi đang sử dụng plugin này http://docs.jquery.com/Plugins/Validation –

Trả lời

14

Nếu bạn lưu trữ một tham chiếu đến validator, ví dụ:

var validator = $("form").validate(); 

Bạn có thể gọi .errors() hay .invalidElements() bất cứ lúc nào trên đó, ví dụ:

var errors = validator.errors(); //get the error elements, the actual labels 
var errors = validator.invalidElements(); //the invalid elements themselves 

Nếu bạn không thực sự sau các lỗi và chỉ muốn chúng xuất hiện ở một nơi, hãy sử dụng được xây dựng trong errorLabelContainer and wrapper options, ví dụ:

<ul id="errors"></ul> 
.210

Và tham khảo:

$("form").validate({ errorLabelContainer: "#errors", wrapper: "li" }); 

Và lỗi của bạn sẽ xuất hiện tất cả trong danh sách đó, mà cũng được tự động hiển thị/ẩn nếu có/không có bất kỳ lỗi nào.

1

Plugin xác thực sẽ hiển thị lỗi bên cạnh trường nơi xảy ra lỗi. Bạn đang sử dụng id cho hộp nhập liệu của bạn? Nếu vậy hãy sử dụng tên cũng như cung cấp cho jquery giá trị của thuộc tính name trong các quy tắc và thông điệp của bạn. Hi vọng điêu nay co ich.

1

muộn để đảng, nhưng tôi thấy bạn cũng có thể nhanh chóng các đối tượng validate() với một chức năng invalidHandler():

var $jqvForm = $(".jqvForm").validate({ 
    invalidHandler: function(e, validation){ 
     console.log("invalidHandler : event", e); 
     console.log("invalidHandler : validation", validation); 
    } 
}); 

Biến validation chứa một biến invalid (object) với mục hình thức và thông báo lỗi của họ.

Các vấn đề liên quan