2012-05-23 29 views
11

Tôi đang sử dụng plugin xác thực jQuery, để xác thực biểu mẫu của tôi. Nó hoạt động (đặt các thông báo lỗi, bên cạnh đầu vào không hợp lệ, thiết bị này được thiết kế cho tôi), nhưng tôi muốn chỉ định vùng chứa lỗi cho mọi trường nhập. Tôi đã tìm thấy errorLabelContainer, nhưng điều này đặt tất cả các lỗi trong một vùng chứa.Xác thực biểu mẫu jQuery: Xác định vùng chứa cho các lỗi

Giả sử, tôi có 2 yếu tố đầu vào, một với id name và một với firstname. Và chúng ta cũng giả sử tôi có 2 khoảng trống, với id là errorNameerrorFirstname. Làm cách nào để tôi yêu cầu jQuery viết lỗi xác thực cho name vào khoảng với id errorName.

Đây là jQuery hiện tại của tôi:

$("#form").validate({ 
    errorLabelContainer: "#errors", 
     rules: { 
      name: { 
       required: true 
      }, 
      firstname: { 
       required: true 
      } 
     }, 
     messages: { 
      name: { 
       required: "Enter name" 
      }, 
      firstname: { 
       required: "Enter firstname" 
      } 
     } 
    }) 

Trả lời

11

Tôi nghĩ là lựa chọn phù hợp với nhu cầu của bạn errorPlacement: vị trí

Customize nhãn lỗi tạo ra. Đối số đầu tiên: Nhãn lỗi được tạo dưới dạng đối tượng jQuery. Đối số thứ hai: Phần tử không hợp lệ làm đối tượng jQuery.

Bạn có thể xác định các yếu tố bạn muốn đặt lỗi trong dựa trên các yếu tố không hợp lệ:

$("#form").validate({ 
    rules: { 
     name: { 
      required: true 
     }, 
     firstname: { 
      required: true 
     } 
    }, 
    messages: { 
     name: { 
      required: "Enter name" 
     }, 
     firstname: { 
      required: "Enter firstname" 
     } 
    }, 
    errorPlacement: function ($error, $element) { 
     var name = $element.attr("name"); 

     $("#error" + name).append($error); 
    } 
}); 

Ví dụ:http://jsfiddle.net/R3aEQ/

+0

Đó chính xác là những gì tôi muốn, cảm ơn bạn rất nhiều :) – Ahatius

+0

bạn có thể làm điều này sao cho nó khác ở các giai đoạn khác nhau của trình hướng dẫn? Bạn sẽ tự động thay đổi errorPlacement như thế nào? – Tofuwarrior

+0

Bạn có thể có 'errorPlacement' gọi một hàm thuộc về bước công việc. Nó thực sự phụ thuộc vào cách công việc của bạn được cấu trúc mặc dù –

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