Kể từ khi phát hành phiên bản Trình xác thực JQuery 1.9.0
, các trường bị ẩn đã tự động bị bỏ qua khỏi kiểm tra xác thực [source].Xác thực JQuery: Xác thực các trường ẩn
Theo release notes, cách để giải quyết vấn đề này là bằng cách đặt ignore: []
trong hàm xác thực.
Sử dụng phiên bản 1.10.0
, Tôi không thể làm việc này cho các trường nhập bị ẩn bằng cách sử dụng display: none
hoặc visibility: hidden
.
xác nhận của tôi được thực hiện sử dụng các lớp học (ví dụ, class="required"
) và chức năng xác nhận là khá cơ bản:
JQuery
$("form").validate({
ignore: [],
errorPlacement: function(error, element) {
error.appendTo($('#error-message'))
},
invalidHandler: function() {
//do something
},
submitHandler: function() {
//do something else
}
});
dụ làm việc: http://jsfiddle.net/fbCVY/
Bất cứ ai có điểm nơi tôi đang đi sai?
Khi tôi chạy jsfiddle trong Firefox 17.0.1, nút 'submit' luôn hiển thị" không có lỗi "trong bảng điều khiển - ngay cả sau khi xóa CSS ẩn các trường nhập. Tôi có thiếu một cái gì đó, hoặc là jsfiddle không thực sự thiết lập để không xác nhận? – TLS