2008-10-16 109 views
9

我正在尋找jQuery的插件,可以驗證爲一個鍵被按下,並失去焦點(文本框)後。我正在使用jVal - jQuery Form Field Validation Plugin。它工作得很好。我唯一的問題是我只能使用一個通用的錯誤消息。jQuery - 實時驗證插件

例如: 我需要一個2到5個字符的字符串。如果太短,我想顯示一條錯誤信息,表明它很短,同樣如果它太長。我知道我可以顯示一條錯誤消息,要求字符串在2到5個字符之間。 正在進行的驗證更復雜。

其他驗證器的任何想法或我如何使用此插件來顯示唯一的錯誤消息。


編輯:

驗證工具需要防止特定的字母或數字,而不是需要一個形式。

感謝

回答

14

這一個看起來像它會適合你的描述:

下面是從源複製的代碼片段演示:

// 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

我已經使用jQuery插件:驗證。它在運行中創建DOM元素非常有效。在運行中創建它們時,確保包含屬性名稱和ID。我很確定插件使用name屬性在html中找到它們。如果名稱不存在,則無法找到它們。

此外這也許是另一個很好的驗證工具。 http://www.livevalidation.com

+0

至於我可以告訴Livevalidation採用直列javascript - 不酷!另外,我認爲在某些情況下,如果您在有機會完成表單之前給人們一個錯誤信息,可用性就會受到影響。 – 2008-11-06 11:24:07

0

在jVal 0.1.4的當前主幹中,它可以處理比以前版本更強大的錯誤檢查功能,從而允許您返回字符串作爲錯誤消息。取當前版本11 jVal 0.1。在http://jquery-jval.googlecode.com/svn/trunk/jVal.js

4軀幹這裏的一個密碼字段,將檢查的一個例子:

  1. 如果密碼有8個字符或更多
  2. 如果密碼具有至少一個數字字符
  3. 如果密碼至少有一個或多個字母字符

如果未通過特定檢查,它將顯示自定義消息

<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

對我來說最好是http://livevalidation.com/ 或baseassistance一個http://bassistance.de/jquery-plugins/jquery-plugin-validation/

jVal和生活形式的驗證就可以OK,但我認爲使用gjQuery的重點在於使用乾淨無阻礙的代碼,而且它們需要如此之多的混亂,這對我來說不是一種選擇。

我想活的形式驗證將在未來的演變,真是怪異必須鍵入THW整個正則表達式來驗證各形式的電子郵件....