5

Tôi đang sử dụng parsley 2.0.0-rc5 và muốn hiển thị thông báo lỗi trong chú giải công cụ khởi động. Tôi đang sử dụng "parsley: field: error" nhưng sự kiện này sẽ kích hoạt trước khi lỗi được hiển thị trong vùng chứa lỗi và tôi không thể nhận lỗi. Ai đó là một ý tưởng làm thế nào tôi nhận được thông báo lỗi cho từng lĩnh vực?Hiển thị lỗi parsley trong chú giải công cụ khởi động

$.listen('parsley:field:error', function (e) { 

    dataParsleyId = e.$element.attr('data-parsley-id'); 
    errorMsg = 'Error: ' + $('#parsley-id-'+dataParsleyId).text(); 

    e.$element.attr('data-original-title', errorMsg); 
    e.$element.tooltip('show'); 

}); 
+0

Có một yêu cầu tương tự, bạn đã tìm ra cách để nhận được thông báo? –

+0

đã tìm ra! đã thêm câu trả lời [tại đây] (http://stackoverflow.com/a/23138289/720508) –

Trả lời

13

Guillaume Potier, tác giả của parsley, đã thêm một mảng lỗi. Nó có sẵn trên nhánh chính trong github và sẽ được phát hành trong phiên bản ổn định tiếp theo.

này hoạt động hoàn hảo đối với tôi và đây là mẫu mã của tôi:

window.Parsley.on('field:error', function (fieldInstance) { 
    fieldInstance.$element.popover({ 
     trigger: 'manual', 
     container: 'body', 
     placement: 'right', 
     content: function() { 
      return fieldInstance.getErrorsMessages().join(';'); 
     } 
    }).popover('show'); 
}); 

window.Parsley.on('field:success', function (fieldInstance) { 
    fieldInstance.$element.popover('destroy'); 
}); 
+0

Trợ giúp tuyệt vời, tuyệt vời! Làm thế nào bạn có được các lỗi ban đầu trong LI để ẩn? – toobulkeh

+3

Chỉ cần trả lời câu hỏi của riêng tôi, để tắt tất cả giao diện người dùng, bạn chỉ cần đặt "data-parsley-ui-enabled" thành 'false', hoặc' data-parsley-errors-messages-disabled' để bỏ sót lỗi tin nhắn – toobulkeh

+1

Ngoài ra, bạn luôn có thể sử dụng '

' nếu bạn không muốn hiển thị các vùng chứa lỗi chuẩn, nhưng vẫn muốn hiển thị popup. –

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