2015-01-20 93 views
0

我編寫了一個帶隱藏字段的表單,如果用戶通過單選框選擇「電話」,則會顯示另一個字段。IF statement validate.js

我需要使用validate.js驗證表單中的字段,表單和驗證在我嘗試使用if語句之前正在工作。

代碼:

$(document).ready(function(){ 
    $('#info_tel').hide(); 
    $('input[type="radio"]').click(function(){ 
     if($(this).attr("value")=="2"){ 
      $("#info_tel").show(); 
      $("#form1").validate({ 
       rules: { 
        nombre: "required", 
        apellido1: "required", 
        email: { 
         required: true, 
         email: true 
         }, 
        terminos: "required", 
        telefono: "required" 
       }, 
       messages: { 
        nombre: "*Requerido.", 
        apellido1: "*Requerido.", 
        email: "*Requerido.", 
        terminos: "*Requerido." 
       } 
      }); 
     } 
     if($(this).attr("value")=="1"){ 
      $('#info_tel').hide(); 
      $("#form1").validate({ 
       rules: { 
        nombre: "required", 
        apellido1: "required", 
        email: { 
         required: true, 
         email: true 
         }, 
        terminos: "required" 
       }, 
       messages: { 
        nombre: "*Requerido.", 
        apellido1: "*Requerido.", 
        email: "*Requerido.", 
        terminos: "*Requerido." 
       } 
      }); 
     } 
    }); 




}); 

這工作,但如果我提交表單不點擊input[type="radio"],它不驗證在所有。

回答

0

我做到了。 完整代碼:

$(document).ready(function() { 
     $("#form1").validate({ 
      rules: { 
       nombre: "required", 
       apellido1: "required", 
       email: { 
        required: true, 
        email: true 
        }, 
       terminos: "required" 
      }, 
      messages: { 
       nombre: "*Requerido.", 
       apellido1: "*Requerido.", 
       email: "*Requerido.", 
       terminos: "*Requerido." 
      } 
     }); 

     $('#info_tel').hide(); 
     $('input[type="radio"]').click(function(){ 
      if($(this).attr("value")=="2"){ 
       $("#info_tel").show(); 
       //tel required 
       $("#telefono").rules("add", { 
        required: true, 
        minlength: 10, 
        messages: { 
        required: "*Requerido.", 
        minlength: jQuery.format("{0} digitos") 
        } 
       }); 
      } 
      if($(this).attr("value")=="1"){ 
       $('#info_tel').hide(); 
      } 
     }); 
    });