2016-04-25 8 views
0

Ich verwende das jQuery Validate-Plugin, um Formulare auf der Website zu überprüfen. Hier ist ein Stück meines HTML-Formulars zur ÜberprüfungValidierung überprüft keine Regeln

<form id ="formCharacteristics" align="center"> 
    <dl> 
     <dt style="text-align:left; margin-left:120px;"><label for="cpuname">CPU name</label></dt> 
     <dd><input type="text" id="cpuname" placeholder="Intel 8086"></dd>     
    <div align="right" style="margin-right:30px"> 
     <button id="buttonSubmitCharacteristics" type="button" onclick = "AddCPU()" >Done</button> 
     <button type="button" onclick="HideMessage()">Back</button> 
    </div> 
</form> 

Und hier ist Stück JavaScript-Code, ruft es die Validierung vor Ajax

Entsendung
AddCPU(){ 
    var form = $('#formCharacteristics'); 
    if(!form.valid()) 
     return; 
    var CPUname = $('input #cpuname'); 
    .... 
} 

Validierung funktioniert auf anderen Formen, aber auf dieser Form überprüft keine Regel. Ich verwende nicht die gleiche Formular-ID und Eingabe-ID.
Hier Code für specifing Regeln

$(document).ready(function() { 
$('#formCharacteristics').validate({ 
    rules:{ 
     cpuname: { 
      required: true, 
      maxlength: 30, 
      minlength: 4 
      } 
     } 
    }); 
...... 

)}; 
+0

Wo ist der Code, der den Int angibt Validierungen für 'cpuname' beendet? Soweit ich sehen kann, ist das Formular gültig, da keine Regeln auf 'cpuname' angewendet werden. –

+0

Sie können' form.valid() 'nur aufrufen, wenn Sie zuvor' form.validate() 'aufgerufen haben, um das zu spezifizieren Regeln und andere Validierungsoptionen. Und das Validierungs-Plugin verlangt, dass Elemente Namen haben, nicht nur IDs. – Barmar

+0

@Barmar, * "Ich benutze ein Validierungs-Plugin" * - basierend auf dem Code ist nicht einmal klar, über welches Plugin er spricht, daher bin ich mir nicht sicher, warum du es mit [tag: jquery-validate] getaggt hast. – Sparky

Antwort

3

Ihr Code:

$('#formCharacteristics').validate({ 
    rules: { 
     cpuname: { // <- this is the NAME attribute 
      required: true, 
      maxlength: 30, 
      .... 

Für die jQuery Validate-Plugin richtig funktioniert, Ihr inputMuss die gleichen name wie angegeben im rules Objekt enthält. ..

<input type="text" name="cpuname" id="cpuname" .... 
+0

Danke, du hast meinen Tag gerettet. – MasterUZ

Verwandte Themen