2012-05-02 13 views
27

Ich benutze das jquery validate-Plugin, um mein Formular zu validieren. Ich möchte mehrere Paare von Feldern zusammenbinden, so dass, wenn ein Feld einen Wert hat, der andere auch einen Wert haben muss. Im Wesentlichen beide Felder (beide Texteingaben) müssen entweder beide einen Wert haben oder beide keinen Wert haben. Kennt jemand einen guten Weg, dies zu erreichen?jquery validate plugin erfordern Feld, wenn ein anderes Feld einen Wert hat und umgekehrt

+0

Mit welchem ​​Plugin, mit welchem ​​Code arbeiten Sie? –

+0

Es ist das jQuery Validierungs-Plugin 1.9.0 – zaq

+0

Ohne Code ist es schwer zu sagen, warum kombinieren Sie nicht einfach die beiden Werte in einen (versteckten), der in der Validierung verarbeitet wird? –

Antwort

53

Wenn Sie sich den Beispielcode des Abschnitts "rules" in der documentation page ansehen, gibt es ein depends Feld, das Sie festlegen können.

etwa wie folgt (das Recht von meinem Kopf ist, nicht getestet):

... 
secondInput: { 
    required: function(element){ 
      return $("#firstInput").val()!=""; 
     } 
} 
.... 
+0

Ich habe auf etwas gehofft, das für jedes Feld keine so ausführliche Beschreibung benötigt, aber es scheint, dass dies die einzige Option ist. Ich endete mit etwas ähnlichem, aber ich benutze nicht das Feld "Abhängigkeiten", nur erforderlich und es scheint zu funktionieren. – zaq

20

Nur zur Klarstellung das ist, was ich auf Erico Antwort tun endete basiert:

firstInput: { 
     required: function(element){ 
      return $("#secondInput").val().length > 0; 
     } 
    }, 
    secondInput: { 
     required: function(element){ 
      return $("#firstInput").val().length > 0; 
     } 
    } 

Each Die Eingabe ist jetzt abhängig von der anderen und wird nur benötigt, wenn die andere einen Wert hat.

Verwandte Themen