2015-01-20 94 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(); 
      } 
     }); 
    });