2016-12-18 4 views
0

Ich brauche einige Eingaben nur erforderlich, wenn bestimmte Optionen in einem anderen Eingang (Radio) überprüft werden. Kurz gesagt, wenn Dokumente des Typs 1 gewählt werden, benötige ich die Feldnummer des Typs 1 als obligatorisch. Es ist einfacher, durch dieses jsfiddle unten zu visualisieren: https://jsfiddle.net/kbhatd51/2/Jquery Validation Plugin-Abhängigkeit von Radio-Tasten funktioniert nicht

Könnten Sie bitte mir helfen? Vielen Dank im Voraus

<form id="registerform" method="post"> 
    <div class="form-group"> 
    <label >Type of Document</label><br> 
    <input type="radio" class="radioForm" id="fis" name="tipop" value="0" > <label for="fis"> Type 1</label><br> 
    <input type="radio" class="radioForm" id="jur" name="tipop" value="1" > <label for="jur"> Type 2</label><br> 
    </div> 
    <label for="tipop"> Number</label> 
    <div class="form-group"> 
    <fieldset id="cpf1"> 

     <label for=cpf1>Type 1 No.:</label> 
     <input type="number" class="form-control" placeholder="000.000.000-00" name="cpf" id="cpf" > 
    </fieldset> 

    <fieldset id="cnpj1"> 
     <label for=cnpj1> Type 2 No.: 
     <input type="number" class="form-control" placeholder=" 00.000.000/0001-00" name="cnpj" id="cnpj"></label> 
    </fieldset> 
    </div> 
    <input name="submit" type="submit" value="Submit!"> 
</form> 

JS validate:

$("#registerform").validate({ 
    rules: { 
    cpf: { 
     required: "#fis:checked" 
    }, 
    cnpj: { 
     required: "#jur:checked" 
    } 
    } 
}); 

Antwort

0

Die required braucht Methode true für das Feld zurückzukehren erforderlich werden. So können Sie einfach eine Funktion required geben, die überprüft, ob das radio Element checked

required method

erforderlich (abhängigkeits Rückruf)

Typ: Funktion()

Die Funktion wird mit dem Element ausgeführt nt als einziges Argument: Wenn es true zurückgibt, wird das Element benötigt.

$("#registerform").validate({ 
    debug: true, 
    rules: { 
    cpf: { 
     required: function(elem) { 
     return $('#fis').is(":checked") 
     } 
    }, 
    cnpj: { 
     required: function(elem) { 
     return $('#jur').is(":checked") 
     } 
    } 
    } 
}); 

Überprüfen Sie die -- JSFiddle Example -- hier.

+0

Nun, das war peinlich. hahah danke Mann, es funktioniert ganz gut –