2011-03-05 5 views
3

以下のルールを使用してjQuery検証メソッドを使用してユーザー名を検証しています。ユーザー名に英数字とアンダースコアのみを含むルールを追加したい。 そのルールに追加のメソッドを追加するにはどうすればいいですか?ユーザーが4文字未満であれば最小長のエラーメッセージを表示し、無効な文字を入力すると無効な文字エラーメッセージが表示される可能性はありますか?ありがとう。リモートAjaxの検証を使用してjQuery検証プラグインのルールを追加する

$(document).ready(function() { 
$("#sform").validate({ 
      rules: { 
       username: { 
        required: true, 
        minlength: 4 
       } 
      }, 

      messages: { 
       username: "Minimum length 4.",    
      } 
     }); 
    }); 

答えて

5

アドオンで見つけることができる正規表現を使用して検証することです以下のように

jQuery.validator.addMethod("alphanumeric", function(value, element) { 
    return !jQuery.validator.methods.required(value, element) || /^[a-zA-Z0-9_]+$/i.test(value); 
} 
, "Letters, numbers or underscores only please"); 

および検証プラグインが英数字を含むプラス検証を強調れ、付加methods.jsが付属してい

$('validatorElement').validate({ 
    rules : { 
     username : { alphanumeric : true } 
    } 
}); 
+0

[参考](http://bassistance.de/jquery-plugins/jquery-plugin-validation /) – diEcho

0

古い質問が、1つは
一つは、以下を使用することができますが助けを得ることができるように、私は私の答えを追加してい: function mytest(value, element, params){...}

  • 次のシグネチャで、私たちの検証テストをカプセル化する関数を作成します

  • 機能が確立したら、それをjQuery検証プラグインに添付できます。これを行うために、バリデータオブジェクトのaddMethod()関数を呼び出します。

マイコード:

$(document).ready(function() { 
    // other code 
    // : 
    // : 
    $.validator.addMethod(
    "passwd", 
    function(value, element, regexp) { 
     var re = new RegExp(regexp); 
      return this.optional(element) || re.test(value); 
    }, 
    "Invalid input" 
    ); 

    $("#add_user_form").validate({ 
     rules:{ 
     user_name: { 
      required: true, 
      minlength: 5, 
      maxlength: 15, 
      noSpace: true 
     }, 
     password: { 
      required: true, 
      minlength: 8, 
      passwd: "((?=(.*\\d.*){2,})(?=(.*[a-zA-Z].*){2,})(?=(.*[@#$(){}!~,.!^?/|+=-_%].*){2,}).{8,20})" 
     } 
    }, 

    messages:{ 
     user_name: { 
     required: "*", 
     minlength: " at least 5 characters", 
     maxlenght: " only 15 characters", 
     noSpace: " No space Please" 
     }, 
     password: { 
     required: "*", 
     minlength: " Your password must be at least 8 characters long", 
     passwd: " Invalid Password choice" 
     } 
}); 
// 
// more code in document.ready 

良いリンク:
Starting With jQuery - How to Write Custom Validation Rules
How to add a rule for regular expression validation?

関連する問題