如果用户选择"电话"我用隐藏字段编写了一个表单。通过无线电盒,显示另一个字段。
我需要使用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 :(得分: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();
}
});
});