2012-10-24 29 views
10

Tôi đang gặp sự cố với Xác thực jQuery và cần bỏ qua một số trường.Xác thực jQuery nhiều bộ chọn cho bỏ qua

Tôi cần bỏ qua các trường dựa trên lớp tôi đã đặt và sau đó cũng là tất cả các trường bị ẩn. Những gì tôi cần làm là sau đây, nhưng nó chỉ là tôn vinh bỏ qua thứ hai. Tôi giả sử có một cách để nói cho jQuery xác nhận các bộ chọn nhiều nhưng tôi dường như không thể tìm thấy nó.

validator = $("#form1").validate({ 
    onsubmit: false, 
    ignore: ".ignore", 
    ignore: ":hidden", 

Cảm ơn,

Tim

Trả lời

32

Từ các tài liệu xác nhận:

jQuery không-phương pháp được sử dụng, do đó tất cả những gì được chấp nhận bởi không() có thể được thông qua như thế này Tùy chọn.

Do đó tất cả các bạn cần làm là vượt qua một tham số với bộ chọn của bạn phân cách bằng dấu phẩy:

validator = $("#form1").validate({ 
    onsubmit: false, 
    ignore: ".ignore, :hidden" 
}); 
+0

Tất nhiên nó sẽ là dễ dàng - tay để trán ... tại sao tôi không thử? Cảm ơn! – divtag

+0

Tài liệu không làm cho điều này hoàn toàn rõ ràng - nếu bạn đặt 'ignore:" .ignore "', _replaces_ là mặc định của 'ignore:": hidden "'. Vì vậy, nếu bạn muốn xác nhận để bỏ qua các trường ẩn như nó làm theo mặc định, _and_ bỏ qua các trường bổ sung theo tên lớp hoặc bất cứ điều gì, bạn phải chuỗi các bộ chọn như được hiển thị ở trên. – daGUY

1

Bạn có thể thêm một lớp học để tất cả các lĩnh vực tiềm ẩn:

$(":hidden").addClass('ignore'); 

http://api.jquery.com/addClass/

+2

Cảm ơn, tôi đã nghĩ về điều đó nhưng không muốn làm điều đó bởi vì sau đó tôi sẽ phải đối phó với việc loại bỏ/thêm lớp đó mỗi khi tôi muốn hiển thị hoặc ẩn các yếu tố. – divtag

3

Bạn có thể thử sử dụng:

ignore: ".ignore, :hidden" 
0

Cũng có hoạt động gấp đôi "not()". I.e:

ignore: ".ignore, :hidden:not(.required)" 

Bằng cách này, một số trường ẩn được yêu cầu sẽ không bị bỏ qua. Có thể cần thiết nếu ai đó sử dụng dropdawn và các plugin tùy chỉnh hộp kiểm.

+0

Vui lòng kiểm tra ngữ pháp của bạn và xem xét việc đưa ra nhận xét này, đây chỉ là phần bổ sung cho câu trả lời đã tồn tại. –

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