jquery - jqueryバリデーターにカスタムメソッドを追加する

原文 jquery validation

私はjquery検証プラグインを学習しています。カスタムバリデーターメソッドを作成し、それを名の入力に適用しました。しかし、それは機能しておらず、他の検証を追加した後も正しく機能しません。私は私が間違ったことを知りたいだけです。

Fiddle

$.validator.setDefaults({
    submitHandler: function(){
    alert("form submited")
}
})  


$('#theform').validate({
    rules:{
    fname:{
    required:true,
    name:true
    },
    lname:"required",
    username:{
    required:true,
    minlength:2
    }           
},
messages:{
    fname:"first name is required",
    lname:"last name is required",
    username:{
    required:"this field is required",
    minlength:"atleast two charactor is required"
    }

    }


})

jQuery.validator.addMethod("name", function(a, b) {
    return a.indexOf('john')!=-1;
    }, "Please enter name john");
答え
http://jsfiddle.net/44funjz2/5/

HTML

<form id="theform">

...
        <label>name</label>
        <input type="namevalidation" id="fname" name="fname" required />
...

</form>


JQ

//to add validator method for name
//1. change input type e.g. "namevalidation"
//2. in addMethod for name take mentioned value: "namevalidation"
//3. addMethod methods must go before attaching validate plugin
$.validator.addMethod("namevalidation", function (a, b) {
    return a.indexOf('john') != -1;

}, "Please enter name john");


$('#theform').validate({
    //pay attention to the creation of rules and use {} for each rule
    rules: {
        fname: {
            required: true,
        },
        lname: {
            required: true,
        },
        username: {
            required: true,
            minlength: 2

        }
    },
    //use {} for each message
    messages: {
        fname: {
            required: "first name is required"
        },
        lname: {
            required: "last name is required"
        },
        username: {
            required: "this field is required",
            minlength: "atleast two charactor is required"
        }

    }

});
関連記事

javascript - iPadのフルカレンダーバージョン2のドラッグイベント

javascript - node.jsのjQueryパッケージに$ .ajaxメソッドがないのはなぜですか?

javascript - HTMLに解析されたJSONデータの<script>タグのエスケープ/削除

javascript - ドロップダウンに表示される複数のcssファイルからCSSクラスのリストを取得します

javascript - <a>タグが混在するテキストノードをjQueryでラップする方法は?

jquery - 複数モデルのフェッチによるバックボーンビューのレンダリング

jquery - AJAXコールバックを介してDOMを変更すると、ブートストラップモーダルが消える

jquery - jQueryセレクターは、モーダルが非表示の場合、ブートストラップのモーダルを見つけることができません

jquery - Enterキーを押して複数のフォームでOnclick関数を起動する

javascript - JavaScript画像のsrc属性が誤った値を返す