2008-10-16 26 views
9

Tôi đang tìm một plugin cho jQuery có thể xác nhận là một phím được nhấn và sau khi nó mất tiêu điểm (hộp văn bản).jQuery - Live Validation Plug-in

Tôi hiện đang sử dụng jVal - jQuery Form Field Validation Plugin. Nó hoạt động khá tốt. Vấn đề duy nhất tôi có là tôi chỉ có thể sử dụng một thông báo lỗi chung.

Ví dụ: Tôi cần chuỗi có từ 2 đến 5 ký tự. Nếu nó quá ngắn, tôi muốn hiển thị một thông báo lỗi cho biết nó ngắn, bằng nhau nếu nó quá dài. Tôi biết tôi có thể hiển thị thông báo lỗi yêu cầu chuỗi từ 2 đến 5 ký tự. Việc xác thực đang được thực hiện phức tạp hơn.

Bất kỳ ý tưởng nào của trình xác thực khác hoặc cách tôi có thể sử dụng trình cắm này để hiển thị thông báo lỗi duy nhất.


Edit:

Các công cụ xác nhận cần phải ngăn chặn chữ hoặc số nói riêng và không đòi hỏi một hình thức.

Cảm ơn

Trả lời

14

Cái này có vẻ như nó sẽ phù hợp với mô tả của bạn:

Dưới đây là một đoạn mã sao chép từ các nguồn bản trình diễn:

// validate signup form on keyup and submit 
$("#signupForm").validate({ 
    rules: { 
     firstname: "required", 
     lastname: "required", 
     username: { 
      required: true, 
      minlength: 2 
     }, 
     password: { 
      required: true, 
      minlength: 5 
     }, 
     confirm_password: { 
      required: true, 
      minlength: 5, 
      equalTo: "#password" 
     }, 
     email: { 
      required: true, 
      email: true 
     }, 
     topic: { 
      required: "#newsletter:checked", 
      minlength: 2 
     }, 
     agree: "required" 
    }, 
    messages: { 
     firstname: "Please enter your firstname", 
     lastname: "Please enter your lastname", 
     username: { 
      required: "Please enter a username", 
      minlength: "Your username must consist of at least 2 characters" 
     }, 
     password: { 
      required: "Please provide a password", 
      minlength: "Your password must be at least 5 characters long" 
     }, 
     confirm_password: { 
      required: "Please provide a password", 
      minlength: "Your password must be at least 5 characters long", 
      equalTo: "Please enter the same password as above" 
     }, 
     email: "Please enter a valid email address", 
     agree: "Please accept our policy" 
    } 
}); 
0

Tôi đã sử dụng plugin jQuery: xác thực. nó hoạt động khá tốt với việc tạo các phần tử DOM khi đang di chuyển. Khi tạo chúng một cách nhanh chóng, hãy đảm bảo tên và ID thuộc tính được bao gồm. Tôi chắc rằng plugin sử dụng thuộc tính name để tìm chúng trong html. Nếu tên bị thiếu thì không thể tìm thấy chúng.

Đây cũng có thể là một công cụ xác thực tốt khác. http://www.livevalidation.com

+0

Theo như tôi có thể nói Livevalidation sử dụng inline javascript - không tuyệt! Ngoài ra, tôi nghĩ rằng trong một số trường hợp, khả năng sử dụng bị ảnh hưởng khi bạn cung cấp cho mọi người thông báo lỗi trước khi họ có cơ hội hoàn tất biểu mẫu. –

0

Trong thân hiện tại của jVal 0.1.4, nó có thể xử lý chức năng kiểm tra lỗi mạnh hơn một chút so với các phiên bản trước cho phép bạn trả về chuỗi dưới dạng thông báo lỗi. Lấy phiên bản hiện tại 11 jVal 0.1.4 thân cây tại http://jquery-jval.googlecode.com/svn/trunk/jVal.js

Dưới đây là một ví dụ về một lĩnh vực mật khẩu mà sẽ kiểm tra:

  1. Nếu mật khẩu có 8 ký tự trở lên
  2. Nếu mật khẩu có ít nhất một nhân vật số
  3. Nếu mật khẩu có ít nhất một trong nhiều ký tự alpha

Nó sẽ hiển thị thông báo tùy chỉnh nếu không kiểm tra cụ thể

<input id="web_pswd" type="password" size="20" 
    jVal="{valid:function (val) { if (val.length < 8) return '8 or more characters required'; else if (val.search(/[0-9]/) == -1) return '1 number or more required'; else if (val.search(/[a-zA-Z]/) == -1) return '1 letter or more required'; else return ''; }, styleType:'pod'}" 
2

đối với tôi là tốt nhất sẽ là http://livevalidation.com/ hoặc một từ baseassistance http://bassistance.de/jquery-plugins/jquery-plugin-validation/

jVal và sống-form-validation có thể ok, nhưng tôi nghĩ toàn bộ quan điểm của usin gjQuery là sử dụng mã không bị cản trở, và chúng đòi hỏi nhiều mớ hỗn độn, nó không phải là một lựa chọn cho tôi.

Tôi đoán live-form-validation sẽ phát triển trong tương lai, thực sự kỳ lạ phải gõ thw toàn bộ biểu thức chính quy để xác nhận một email trong mỗi hình thức ....

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