2016-08-02 13 views
0

Hallo Ich bin neu in jQuery und möchte lernen, wie die Validierungsfunktion in Kombination mit RegExp zu überprüfen, ob eine Eingabe korrekt ist, obwohl ich nicht sicher bin, ob dies der beste Weg ist, es zu tun .jquery validate Domäne benutzerdefinierte Methode

Das muss die richtige Eingang dieses Format hat:

integer.string.domain (ex: 1.myFirstDomain.com oder 22.mySecondDomain.someInfo.org)

Ich habe durch den Versuch gestartet, um Verwenden Sie die Validierungsfunktion mit nur Zahlen im folgenden Code, nur um zu sehen, ob ich eine einfache RegExp zum Funktionieren bekommen könnte, aber es funktioniert nicht, und ich bin mir nicht sicher, wie Sie Eingaben einschließlich Zahlen und Strings am besten validieren dieses besondere Format.

$(document).ready(function() { 
 
    $("#testform").click("submit").validate({ 
 
    rules: { 
 
     input: { 
 
     numberInput: true 
 
     } 
 
    }, 
 
    messages: { 
 
     input: "Please enter a number" 
 
    } 
 

 
    }); 
 
}); 
 

 
$.validator.addMethod('numberInput', function(value) { 
 
    return /^[0-9]+$/.test(value); 
 
}, 'Please only enter numeric values (0-9)');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script> 
 

 
<form id="testform"> 
 
    <p>InputTest</p> 
 
    <input id="input" placeholder="Input domain here."> 
 
    <br> 
 
    <button id="submit" type="submit">Submit</button> 
 
    <br> 
 
</form>

+0

'$ ("# Testform"). Validierung ({' –

Antwort

0

Es gibt hier zwei Fragen.

  1. Es besteht keine Notwendigkeit click('submit') zu nennen, die einen Fehler wie jquery-1.11.3.js:4670 Uncaught TypeError: ((jQuery.event.special[handleObj.origType] || (intermediate value)).handle || handleObj.handler).apply is not a function verursachen werden, wenn die Schaltfläche
  2. Der Validator-Framework verwendet die Elementnamen, die Regeln anzuwenden, angeklickt wird, so einen Namen mit dem Eingang hinzufügen

$(document).ready(function() { 
 
    $("#testform").validate({ 
 
    rules: { 
 
     input: { 
 
     numberInput: true 
 
     } 
 
    }, 
 
    messages: { 
 
     input: "Please enter a number" 
 
    } 
 

 
    }); 
 
}); 
 

 
$.validator.addMethod('numberInput', function(value) { 
 
    return /^[0-9]+$/.test(value); 
 
}, 'Please only enter numeric values (0-9)');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script> 
 

 
<form id="testform"> 
 
    <p>InputTest</p> 
 
    <input id="input" name="input" placeholder="Input domain here."> 
 
    <br> 
 
    <button id="submit-btn" type="submit">Submit</button> 
 
    <br> 
 
</form>

+0

Thank you! Es WÖ jetzt. Ich habe keine Fragen zu stackoverflow zuvor gestellt, also vergib mir meine Ignoranz, wäre es besser, eine neue Frage zu stellen, wie man die Eingabe mit RegExp formatiert, wie ich in dieser Frage beschrieben habe? – BaconPancakes