2012-05-02 18 views
27

Sto usando il plugin jquery validate per convalidare il mio modulo. Vorrei collegare più coppie di campi in modo tale che se un campo ha un valore, l'altro deve anche avere un valore. Essenzialmente entrambi i campi (entrambi input di testo) devono avere entrambi un valore o entrambi non hanno un valore. Qualcuno è a conoscenza di un buon modo per realizzare questo?jquery validate plugin richiede un campo se un altro campo ha un valore e viceversa

+0

Quale plug-in, con quale codice stai lavorando? –

+0

È il jQuery Validation Plugin 1.9.0 – zaq

+0

Senza codice è difficile dire, perché non combinare i due valori in uno (quello nascosto) che viene elaborato nella convalida? –

risposta

53

se si guarda il codice di esempio della sezione "regole" nello documentation page, esiste un campo depends che è possibile impostare.

qualcosa di simile alla seguente (questa è proprio la mia testa, non testato):

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

Speravo in qualcosa che non richiedesse una descrizione così dettagliata per ogni campo, ma sembrerebbe che questa fosse l'unica opzione. Ho finito con qualcosa di simile ma non sto usando il campo dipende, solo richiesto e sembra funzionare. – zaq

20

Solo per chiarezza questo è quello che ho finito per fare in base alla risposta del Erico:

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

Ogni l'input ora dipende dall'altro e sarà richiesto solo se l'altro ha un valore.

Problemi correlati