簡體   English   中英

jQuery中的自定義驗證

[英]Custom Validation in Jquery

我有一個驗證規則。 但是我希望它以自定義的方式表現。

這是我的規則:

       FirstName:{ 
          required: true,
          minlength:5,
          maxlength:35,
          alphanumeric:true
        }

和錯誤消息:

      messages: 
      {
      FirstName: "Please enter the First Name"
      }

在規則中,如果我在第一筆划中按特殊字符,則會向我顯示錯誤消息。

我所做的任何錯誤都會向我顯示相同的錯誤消息。

我希望它根據我的錯誤行事。

如果我輸入4個字符,則應該顯示其他錯誤消息,例如“最小5個字符”

如果我輸入的字符超過35個字符,則應該出現類似“最大35個字符”的其他錯誤消息。

我怎樣才能做到這一點 ?

當極客需要完整格式的JS時進行更新:

<script>
var jq = $.noConflict();
jq(document)
    .ready(function () {
            jq("#data")
                .validate({
                        rules: {
                            FirstName: {
                                required: true,
                                minlength: 5,
                                maxlength: 35,
                                alphanumeric: true
                            },
                            messages: {
                                CompID: "Please choose any Company"
                            }
                        })

                    jq('#driver')
                    .click(function () {
                        jq("#data")
                            .valid();
                    });
                });

像這樣

根據您的裝備替換“ rangelength”。 JS

jQuery.validator.setDefaults({
  debug: true,
  success: "valid"
 });
$( "#myform" ).validate({
   rules: {
   field: {
   required: true,
   rangelength: [2, 6]
   }
 }
});

HTML

<form id="myform">
<label for="field">Required, minium length 2, maximum length 6: </label>
<input type="text" class="left" id="field" name="field">
<br/>
<input type="submit" value="Validate!">

為您的Restict Special Char。

    var specialKeys = new Array();
         specialKeys.push(8); //Backspace
         specialKeys.push(9); //Tab
         specialKeys.push(46); //Delete
         specialKeys.push(36); //Home
         specialKeys.push(35); //End
         specialKeys.push(37); //Left
         specialKeys.push(39); //Right
         function IsAlphaNumeric(e) {
        var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;
            var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) ||                    (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode !=   e.keyCode));
         document.getElementById("error").style.display = ret ? "none" : "inline";
          return ret;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM