2016-03-21 6 views
-1

Ich versuche, einen neuen Klassennamen innerhalb der zugehörigen Attributklasse hinzuzufügen, um ein bestimmtes Eingabefeld zu validieren.

Wenn eine bestimmte Option einer Auswahl ausgewählt wurde, muss ich einen neuen Klassennamen hinzufügen. Das folgende Skript funktioniert und tatsächlich wird die neue Klasse wie erwartet hinzugefügt, aber validate.js erkennt den Klassennamen required-field nicht.

Wenn Sie den Klassennamen hinzufügen erforderliches Feld manuallay die Datei validate.js erkennt es.jQuery: Hinzufügen eines neuen Klassennamens innerhalb der Attributklasse

if(val == 1) { 
$('#firstname').addClass('required-field'); 
} 

<input type="text" name="firstname" id="firstname" class="form-control required-field" /> 

Was mache ich falsch?

+1

Zeigen Sie uns Ihre 'validate.js' Code – Martin

+2

Vermutlich sucht 'validate.js' nach Elementen zur Initialisierungszeit und nicht nach dem Ändern des Elements. – Quentin

+0

Es gibt Hunderte von Bibliotheken für die Validierung, welche verwenden Sie? – epascarello

Antwort

1

Wenn Sie das Plugin validate.js kümmert sich um eine neue Regel dynamisch hinzugefügt wollen Sie tun müssen:

 if (val == 1) { 
      $("#firstname").rules("add", "required"); 
     } else { 
      $("#firstname").rules("remove", "required"); 
     } 

Details siehe Read, add and remove rules for an element

Verwandte Themen