2016-09-13 7 views
1

Ich versuche zu überprüfen, wenn die Kontonummer 00000000 ist, dann Validierungsfehler werfen, brauche ich bitte Hilfe oder Richtung, wie ich diese Validierung für bestimmte numerische Werte erreichen oder die Benutzereingabe beschränken kann 00000000?Konnte Validate spezifische Kontonummer nicht mit jquery Validierung

jQuery.validator.addMethod("myRule", function (value, element, params) { 
     return this.optional(element) || value== params[0]; 
    }, "Account number 00000000 is invalid"); 

$('#myform').validate({ // initialize the plugin 
     submitHandler: function (form) { 
      console.log("Submitted!"); 
     }, 
     rules: { 
      accountNumber: { 
       required: true, 
       minlength: 8, 
       maxlength: 8, 

       /*MyRule solution found online but not working as expected any other option I could try within JQUERY Validator????*/ 

       myRule: ["00000000"], 
       digits: true 
       }, 
      companyNumber: { 
       required: true, 
       digits: true 

      } 
     }, 

     messages: { 
       accountNumber: { 
        digits: 'Account Number must be an number', 
        minlength: 'Account number cannot be less than 8 digits', 
        maxlength: 'Account number cannot be more than 8 digits', 
        required : 'Account number is required' 
       }, 
        companyNumber: { 
        digits: 'Company number must be a number', 
        required : 'Company number is required' 

       } 
     } 
    }); 
+0

Sie erwähnen Sie die Kontonummer 'validieren möchten 000000' aber die Regel ist' 00000000', dass 2 weitere Nullen – depperm

+0

Leider hat Ich habe gerade meine Frage bearbeitet und korrigiert ich meine 00000000. Wie kann ich im Allgemeinen Regel für bestimmte numerische Wert wie in meinem Fall die Kontonummer mit 00000000 validieren oder hinzufügen? – sam

Antwort

0

Sie value != params[0] müssen (nicht gleich) gültig.

sehen ein funktionsfähiges Beispiel unten: -

jQuery.validator.addMethod("myRule", function(value, element, params) { 
 
    return this.optional(element) || value != params[0]; 
 
}, "Account number 00000000 is invalid"); 
 

 
$('#myform').validate({ // initialize the plugin 
 
    submitHandler: function(form) { 
 
    console.log("Submitted!"); 
 
    }, 
 
    rules: { 
 
    accountNumber: { 
 
     required: true, 
 
     minlength: 8, 
 
     maxlength: 8, 
 

 
     /*MyRule solution found online but not working as expected any other option I could try within JQUERY Validator????*/ 
 

 
     myRule: ["00000000"], 
 
     digits: true 
 
    }, 
 
    companyNumber: { 
 
     required: true, 
 
     digits: true 
 

 
    } 
 
    }, 
 

 
    messages: { 
 
    accountNumber: { 
 
     digits: 'Account Number must be an number', 
 
     minlength: 'Account number cannot be less than 8 digits', 
 
     maxlength: 'Account number cannot be more than 8 digits', 
 
     required: 'Account number is required' 
 
    }, 
 
    companyNumber: { 
 
     digits: 'Company number must be a number', 
 
     required: 'Company number is required' 
 

 
    } 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.1/jquery.validate.js"></script> 
 

 
<form id="myform"> 
 
    <input type="text" name="accountNumber" /> 
 
    <input type="text" name="companyNumber" /> 
 
    <input type="submit" value="submit"/> 
 
    </form>

+0

Hoppla, es war ein dummer Fehler..Danke, Ben, Du hast mir den Tag gerettet :) – sam

-1

Es gibt eine Validierungsfunktion namens addMethod Sie verwenden können.

$.validator.addMethod('accountNumber', function (value) { 
    return !(/^0{8}$/.test(value)); 
}, 'Please enter a valid account.'); 

Hier ist ein fiddle mit einem Beispiel

Verwandte Themen