2017-10-30 15 views
1

LinkedInのプロフィールURLを検証したいと思います。これは必須フィールドではありませんが、ユーザーがデータを入力するときには正規表現形式のみを許可する必要があります。一致しなかった場合は、メッセージが無効であると表示されます。私はこれを試したが、トリガーさえしなかった。どうすればデバッグできますか?jQueryに新しい検証メソッドを追加しないと、

jQuery.validator.addMethod("linkedinUrl", function(value, element) { 
    return this.optional(element) || /(ftp|http|https):\/\/?(?:www\.)?linkedin.com(\w+:{0,1}\w*@)?(\S+)(:([0-9])+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/.test(value); 
}); 

$(function() { 
    $("#Add_Staff_Form").validate({ 
    rules: { 
     linkedin { 
     required: true; 
     linkedinUrl: true; 
     } 
    }, 
    messages: { 
     linkedin { 
     required: "Please specify the correct linkedin url" 
     } 
    }, 
    ignore: ':hidden:not([class~=selectized]),:hidden > .selectized, .selectize-control .selectize-input input' 
    }); 
}); 
<div class="col-md-4"> 
    <label class="control-label">Linkedin</label> 
    <input type="text" id="linkedin" name="linkedin" class="form-control" value="" /> 
</div> 

答えて

0

この動作します:

<script> 
    jQuery.validator.addMethod("linkedinUrl", function(value, element) { 
    return this.optional(element) || /(ftp|http|https):\/\/?(?:www\.)?linkedin.com(\w+:{0,1}\w*@)?(\S+)(:([0-9])+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/.test(value); }, "Please enter valid linkedin url!"); 

    $(function() { 
     $("#Add_Staff_Form").validate({ 
      rules: { 
       linkedin:"linkedinUrl", 
      }, 
      ignore: ':hidden:not([class~=selectized]),:hidden > .selectized, .selectize-control .selectize-input input' 
     }); 
    }); 
</script> 

は、HTMLでこれを追加します。

<div class="col-md-4"> 
    <label class="control-label">Linkedin</label> 
    <input type="text" id="linkedin" name="linkedin" class="form-control linkedinUrl" value="" /> 
</div> 
+0

をあなたのコードはOPが既に掲載するものと異なる方法/理由を説明してください。 – Sparky

関連する問題