Tôi đã cố gắng để có được một giải pháp xác thực hợp lệ để làm việc cho trang web của mình, nhưng tôi đang gặp sự cố với các tùy chọn khác nhau. Tôi đã đọc kỹ tài liệu và xem các ví dụ, nhưng tôi vẫn gặp vấn đề.jQuery xác thực plugin - showErrors option - errorContainer không ẩn/hiển thị
Biểu mẫu của tôi nằm trong một bảng. Tôi muốn mỗi hàng có hàng lỗi riêng của nó bên dưới nó, thường sẽ bị ẩn, nhưng nó sẽ hiển thị cho mỗi hàng khi thích hợp.
Các tùy chọn sau giấu và cho thấy các hàng lỗi tốt, nhưng được thông báo lỗi thể hiện trong mỗi hàng lỗi là toàn bộ nối của tất cả các thông báo lỗi:
$('#myform').validate({
rules: {
firstName: "required",
lastName: "required"
},
messages: {
firstName: "Enter your first name.",
lastName: "Enter your last name."
},
errorContainer: '.errorRow',
errorLabelContainer: '.errorRow.appValueColumn',
errorPlacement: function(error, element) {
error.appendTo(element.parent().next());
}
});
vì vậy tôi đã cố gắng để sử dụng tùy chọn showErrors như sau :
$('#myform').validate({
rules: {
firstName: "required",
lastName: "required"
},
messages: {
firstName: "Enter your first name.",
lastName: "Enter your last name."
},
errorContainer: '.errorRow',
errorContainer: '.errorRow.appValueColumn',
showErrors: function(errorMap, errorList) {
$.each(errorMap, function(key, value) {
$('#'+key).parent().next().children('.appValueColumn').html(errorMap[key]);
});
Vâng, giờ đây tất cả các lỗi đều được phân tách và hiển thị đúng vị trí, nhưng tôi không thể hiển thị .errorRows
. Tôi làm gì sai ở đây?
Rất cám ơn
Tôi đi theo mã của bạn và áp dụng cho tôi. Lỗi đến onclick gửi nhưng tại thời điểm một số trang làm mới. Bạn có thể vui lòng kiểm tra những gì sai lầm tôi đang làm. fiddle liên kết ở đây: https://jsfiddle.net/locateganesh/we7rkrxk/1/ – locateganesh
Vâng, nhìn vào giao diện điều khiển, bạn có thể thấy có một ngoại lệ "Uncaught TypeError: this.defaultShowErrors không phải là một chức năng". Giống như tôi nói trong bài 'this.defaultShowErrors() 'nên được gọi ở cuối trình xử lý' showErrors' tùy chỉnh, nhưng trong ví dụ mã, nó được đính kèm trong '$ .each()'! Bắt tốt ;-) –