Tôi đang gặp khó khăn khi nhận được plugin Xác thực jQuery để hoạt động như tôi muốn. Hãy trần với tôi kể từ khi tôi không có chuyên môn JQ :).valid() chỉ xác thực đầu vào đầu tiên với plugin jQuery Validation
Những gì tôi có một hình thức với một số nguyên liệu đầu vào cần thiết là, các quy tắc như cho thấy dưới đây:
$("#makeEvent").validate({
onfocusout: false,
rules: {
name: {
required: true,
minLength: 2,
maxLength: 100
},
host: {
required: true,
minLength: 2,
maxLength: 100
},
startDate: {
required: true,
date: true
},
endDate: {
required: true,
date: true
},
desc: {
required: true,
minLength: 10,
maxLength: 255
},
webpage: {
required: false,
url: true
},
email: {
required: true,
email: true
},
}
});
Bây giờ tôi có một cuộc gọi tùy chỉnh .click() nơi tôi muốn xác thực biểu mẫu và sau đó hiển thị bản xem trước cho người dùng trước khi cho phép họ gửi biểu mẫu. Xin vui lòng xem chức năng dưới đây:
$('#submitPreview').click(function() {
if($("#makeEvent").valid() === false) {
//What to do if validation fails
} else if($("#makeEvent").valid() === true) {
//Show the preview and let the user either make changes or submit the final result
}
});
Nhưng những gì xảy ra là chức năng chỉ xác nhận đầu vào đầu tiên (tên) và thậm chí xác nhận nó không đúng cách (các quy tắc yêu cầu tối thiểu 2 nhân vật, vẫn còn đó xác nhận với chỉ 1 ký tự được nhập. Nó chỉ trả về false nếu không có ký tự nào được thêm vào).
Có lẽ cách tiếp cận của tôi không phải là tốt nhất, vì vậy tôi luôn sẵn sàng cho bất kỳ đề xuất nào. Nếu bạn muốn xem mã nguồn lộn xộn, bạn có thể thấy hàm hoạt động tại đây: http://event.gusthlm.se/make.php
Cảm ơn!
Đoán những gì? Điều này giải quyết được vấn đề. Tôi không bao giờ có thể đoán được ... Cảm ơn! –
Tôi biết điều này là cũ nhưng tôi có một vấn đề mà tôi không thể có trường tên. Tôi đang sử dụng Stripe để xác thực thẻ tín dụng và giữ thông tin thẻ tín dụng khỏi việc nhấn máy chủ của chúng tôi, chúng tôi phải loại trừ thuộc tính tên. Tôi cũng tò mò tại sao thuộc tính name có bất kỳ mang về xác nhận phía khách hàng? – computrius
@computrius, Vì plugin jQuery Validate yêu cầu thuộc tính 'name' ... đó là cách nhà phát triển đã quyết định plugin nên theo dõi các yếu tố đầu vào. – Sparky