2010-07-23 26 views
10

Như trên, làm cách nào để xóa tất cả các quy tắc bắt buộc khỏi biểu mẫu bằng cách sử dụng Xác thực jQuery?Làm cách nào để xóa các quy tắc 'bắt buộc' khỏi tất cả các yếu tố đầu vào của biểu mẫu trong jQuery Validate?

Đây là những gì tôi có mặt tại địa chỉ:

var settings = $('form').validate().settings; 

//alert(settings.rules.toSource()); 
for (var i in settings.rules){ 
    alert(i); 
    delete settings.rules.i; 
    //^not sure about how to do this properly, 
    // and how to just delete the 'required' rule and keep the rest intact 
} 

Chức năng có nguồn gốc từ jQuery Validate trả về một lỗi không xác định:

$("input, select, textarea").rules('remove','required'); 
+0

sử dụng $ (this) .removeClass ('required') –

+0

@Amit That sẽ không hoạt động khi cài đặt xác thực không chạy khỏi các lớp đầu vào. – bcmcfc

+0

Bạn có thể cho chúng tôi biết lý do bạn muốn thực hiện điều đó không? – Nealv

Trả lời

4

Như đôi khi có thể là trường hợp, tôi dường như đã vấp vào câu trả lời ngay sau khi sử dụng để đăng lên đây.

for (var i in settings.rules){ 
    delete settings.rules[i].required; 
} 

Hoạt động.

13

Và nếu bạn không muốn gây rối với các thiết lập nội Validate, bạn có thể sử dụng chức năng công cộng theo cách này:

$('input, select, textarea').each(function() { 
    $(this).rules('remove', 'required'); 
}); 

Lưu ý rằng rời ra tham số thứ hai (bắt buộc) sẽ loại bỏ tất cả các quy tắc , không chỉ là "bắt buộc".

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