2016-10-27 2 views
0

Ich habe ein Formular, das ich validieren möchte, aber ich kann den Validator nicht funktionieren.Jquery Validate - Der Validator funktioniert nicht

die Hauptseite ist in ASP.NET C#. Ich habe das Haupt-Tag und werde ein Ajax-Callout auf dem SubmitHandler verwenden, um das Formular zu senden. Innerhalb des Formular-Tags habe ich ein div, das ein jquery-Dialogfeld ist. Innerhalb dieses div, habe ich alle Felder und die Schaltfläche, um das Formular (das ist eigentlich eine Schaltfläche mit einem jquery. Click-Ereignis) zu übermitteln.

Felder sind wie folgt aus:

<input class="last_name_class modal__input__font" id="lastname" style="width:100%;" type="text" value="" runat="server" /> 

Dies ist die Schaltfläche einreichen

<input class="btn_red" id="btn_Submit" type="button" value="CREATE CUSTOMER" /> 

Wenn die Schaltfläche geklickt wird, es feuert diese:

$('#btn_Submit').click(function() { 
    $('#form1').valid(); 
}); 

Und das ist mein validate() Funktion

$('#form1').validate({ 

      rules: { 
       <%=lastname.ClientID%> :{ 
        required: true, 
       }, 
       <%=firstnames.UniqueID%> :{ 
        required: true, 
       }, 
       <%=dob.UniqueID%> :{ 
        required: true, 
       }, 
       <%=addressline1.UniqueID%> :{ 
        required: true, 
       }, 
       <%=suburb.UniqueID%> :{ 
        required: true, 
       }, 
       <%=state.UniqueID%> :{ 
        required: true, 
       }, 
       <%=postcode.UniqueID%> :{ 
        required: true, 
       }, 

      }, 
      highlight: function(element, errorClass) { 
       alert(element); 
       $(element).addClass(errorClass); 
       $(element.form).find("label[for=" + element.id + "]").addClass(errorClass); 
      }, 
      unhighlight: function(element, errorClass) { 
       $(element).removeClass(errorClass); 
       $(element.form).find("label[for=" + element.id + "]").removeClass(errorClass); 
      }, 
      submitHandler: function (form) { 
       // do other things for a valid form 
       //form.submit(); 

      } 
     }); 

Wenn ich auf den Knopf klicke, scheint nichts zu passieren. Ich kann nicht einmal sagen, ob die Validierung ausgelöst wird.

Dank

+0

Haben Sie alle erforderlichen jQuery-Skripte dafür erstellt? –

+0

Ich habe die folgenden 4 Saj

Antwort

1

Jquery Validierung auf Elementname funktioniert, überprüfen Sie die folgende Zeile:

<input class="last_name_class modal__input__font" id="lastname" style="width:100%;" type="text" value="" runat="server" /> 

kein Name angegeben ist. Ändern Sie diesen Wert wie folgt:

<input class="last_name_class modal__input__font" id="lastname" name="lastname" style="width:100%;" type="text" value="" runat="server" /> 

und versuchen Sie es erneut.

+0

Ich habe versucht, das Namensfeld zu allen meinen Feldern hinzuzufügen, aber nichts passiert. Gibt es eine Möglichkeit herauszufinden, ob der Validator richtig aufgerufen wird und wo er fehlschlägt? – Saj

+0

@Saj - Sie müssen nicht nur einen 'Namen' für jede Eingabe haben, es ist * nur * der NAME, auf den innerhalb des' rules' Objekts verwiesen werden kann. '<% = lastname.ClientID%>' sieht für mich wie eine 'ID' aus. – Sparky

+0

@Saj, * "Gibt es eine Möglichkeit herauszufinden, ob der Validator richtig aufgerufen wird und wo er fehlschlägt?" * ~ Da es clientseitig (JavaScript) ist, verwenden Sie die JavaScript-Konsole in Ihrem Browser für Fehler, überprüfen Sie das DOM, etc. – Sparky

Verwandte Themen