2009-11-26 18 views
19

Tôi đang sử dụng xác thực jquery cho yêu cầu thanh toán trường bắt buộc.xác thực jquery chỉ dành cho các điều khiển hiển thị

$("#registerform").validate(); 

Điều này cũng cho phép điều khiển bị ẩn.

Ví dụ: Khi người dùng chọn Others tùy chọn trong How you find us? trong biểu mẫu đăng ký, bắt buộc phải điền vào hộp văn bản cho tùy chọn khác.

Nhưng điều này xảy ra ngay cả khi điều khiển bị ẩn.

Làm cách nào để thực hiện việc xác thực jquery?

Trả lời

31

Tôi chưa sử dụng xác thực jQuery trước đây nhưng theo the doco có trường bỏ qua để bạn có thể chuyển bộ chọn jQuery tới. Bằng cách sử dụng bộ chọn :visible, bạn sẽ có thể thực hiện việc này.

Tôi tin rằng đây là những gì bạn đang sau

$("#registerform").validate({ignore:":not(:visible)"}); 
+0

này là chính xác những gì tôi cần. – Prasad

+5

Không .validate ({ignore: ": hidden"}) có làm tương tự không? IMHO dễ đọc hơn một chút. – nillls

+3

@nillis - Quan trọng hơn, nó cũng là mặc định hiện tại. – TheCloudlessSky

2

Bạn có thể cố gắng thêm :visible để chọn riêng của mình:

$("#registerform :visible") 
+3

Điều đó sẽ làm cho nó xác nhận biểu mẫu nếu nó được hiển thị, không phải các trường riêng lẻ trong biểu mẫu. – fyjham

+0

Điều này đã giúp tôi chọn của tôi là như vậy: $ ('input.required: visible'). (Function() {...}; – Robert

+0

@fyjham đó là không đúng, vì cả hai bộ chọn được phân tách bằng dấu cách, ': hiển thị' sẽ lấy tất cả các phần tử hiển thị bên trong biểu mẫu. – Phiter

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