Nombres--------------------> valida si es solo texto y que tenga como minimo 3 caracteres * campo obligatorio
Apellidos--------------------> valida si es solo texto y que tenga como minimo 3 caracteres * campo obligatorio
Numero de identidad---> valida si es solo numerico y que tenga como minimo 10 caracteres * campo obligatorio
Direccion domicilio------> valida que sea texto, numero, y ciertos caracteres especiales incluido el espacio y que tenga como minimo 10 caracteres * campo obligatorio
un boton llama al javascript para que valide todos estos campos, ahora el problema con el que me tope
necesito validar lo siguiente
si los campos estan vacios-------------> se envien los datos con los campos vacios osea que los acepte
y si ingresa un dato en alguno de los campos-------> los demas se vuelvan obligatorios
les dejo el javascript y el html que tengo para que lo puedan copiar si esq les sirve, lo unico que necesito es ayuda con la validacion de los campos vacios
Código ActionScript :
function validar(formulario) { var masUsuariosNombre1 = document.getElementsByName("masUsuariosNombre1[]"); var masUsuariosNombre2 = document.getElementsByName("masUsuariosNombre2[]"); var masUsuariosApellido1 = document.getElementsByName("masUsuariosApellido1[]"); var masUsuariosApellido2 = document.getElementsByName("masUsuariosApellido2[]"); var masUsuariosCedula = document.getElementsByName("masUsuariosCedula[]"); var masUsuariosDireccion = document.getElementsByName("masUsuariosDireccion[]"); for(var new_user=0; new_user<100; new_user++) { /////////////////////Validar Nombre1 if (masUsuariosNombre1[new_user].value.length < 3) { alert("Escriba por lo menos 3 caracteres en el campo\n\r \"Primer Nombre\"."); masUsuariosNombre1[new_user].focus(); return (false); } var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"+"áéíóúüñÁÉÍÓÚÜÑ"; var checkStr = masUsuariosNombre1[new_user].value; var allValid = true; for (i = 0; i < checkStr.length; i++) { ch = checkStr.charAt(i); for (j = 0; j < checkOK.length; j++){ if (ch == checkOK.charAt(j)) break; } if (j == checkOK.length) { allValid = false; break; } } if (!allValid) { alert("Escriba solo letras no se aceptan numeros ni caracteres especiales como +-*/()# en el campo\n\r \"Primer Nombre\"."); masUsuariosNombre1[new_user].focus(); return (false); } /////////////////////Validar Nombre2 if (masUsuariosNombre2[new_user].value.length < 3) { alert("Escriba por lo menos 3 caracteres en el campo\n\r \"Segundo Nombre\"."); masUsuariosNombre2[new_user].focus(); return (false); } var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"+"áéíóúüñÁÉÍÓÚÜÑ"; var checkStr = masUsuariosNombre2[new_user].value; var allValid = true; for (i = 0; i < checkStr.length; i++) { ch = checkStr.charAt(i); for (j = 0; j < checkOK.length; j++){ if (ch == checkOK.charAt(j)) break; } if (j == checkOK.length) { allValid = false; break; } } if (!allValid) { alert("Escriba solo letras no se aceptan numeros ni caracteres especiales como +-*/()# en el campo\n\r \"Segundo Nombre\"."); masUsuariosNombre2[new_user].focus(); return (false); } /////////////////////Validar Apellidos1 if (masUsuariosApellido1[new_user].value.length < 3) { alert("Escriba por lo menos 3 caracteres en el campo\n\r \"Primer Apellido\"."); masUsuariosApellido1[new_user].focus(); return (false); } var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"+"áéíóúüñÁÉÍÓÚÜÑ"; var checkStr = masUsuariosApellido1[new_user].value; var allValid = true; for (i = 0; i < checkStr.length; i++) { ch = checkStr.charAt(i); for (j = 0; j < checkOK.length; j++){ if (ch == checkOK.charAt(j)) break; } if (j == checkOK.length) { allValid = false; break; } } if (!allValid) { alert("Escriba solo letras no se aceptan numeros ni caracteres especiales como +-*/()# en el campo\n\r \"Primer Nombre\"."); masUsuariosApellido1[new_user].focus(); return (false); } /////////////////////Validar Apellidos2 if (masUsuariosApellido2[new_user].value.length < 3) { alert("Escriba por lo menos 3 caracteres en el campo\n\r \"Segundo Apellido\"."); masUsuariosApellido2[new_user].focus(); return (false); } var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"+"áéíóúüñÁÉÍÓÚÜÑ"; var checkStr = masUsuariosApellido2[new_user].value; var allValid = true; for (i = 0; i < checkStr.length; i++) { ch = checkStr.charAt(i); for (j = 0; j < checkOK.length; j++){ if (ch == checkOK.charAt(j)) break; } if (j == checkOK.length) { allValid = false; break; } } if (!allValid) { alert("Escriba solo letras no se aceptan numeros ni caracteres especiales como +-*/()# en el campo\n\r \"Primer Nombre\"."); masUsuariosApellido2[new_user].focus(); return (false); } /////////////////////Validar Num. Ident. - INICIO if (masUsuariosCedula[new_user].value.length < 10) { alert("Escriba por los menos 10 numeros en el campo\n\r \"Numero de Cedula\"."); masUsuariosCedula[new_user].focus(); return (false); } var checkOK = "0123456789"; var checkStr = masUsuariosCedula[new_user].value; var allValid = true; for (i = 0; i < checkStr.length; i++) { ch = checkStr.charAt(i); for (j = 0; j < checkOK.length; j++) if (ch == checkOK.charAt(j)) break; if (j == checkOK.length) { allValid = false; break; } } if (!allValid) { alert("Escriba solo numeros en el campo\n\r \"Numero de Cedula\"."); masUsuariosCedula[new_user].focus(); return (false); } /////////////////////Validar Num. Ident. - FIN /////////////////////Validar Direccion - INICIO if (masUsuariosDireccion[new_user].value.length < 10) { alert("Escriba por lo menos 10 caracteres, numeros o caracteres especiales como #()-/ en el campo\n\r \"Direccion domicilio\"."); masUsuariosDireccion[new_user].focus(); return (false); } var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"+"áéíóúüñÁÉÍÓÚÜÑ"+"0123456789"+" -/()#"; var checkStr = masUsuariosDireccion[new_user].value; var allValid = true; for (i = 0; i < checkStr.length; i++) { ch = checkStr.charAt(i); for (j = 0; j < checkOK.length; j++){ if (ch == checkOK.charAt(j)) break; } if (j == checkOK.length) { allValid = false; break; } } if (!allValid) { alert("Escriba solo letras y numeros y solo se aceptan caracteres especiales como -/()# en el campo\n\r \"Dirección domicilio\"."); masUsuariosDireccion[new_user].focus(); return (false); } /////////////////////Validar Direccion - FIN } return (true); }
necesitaran estos estilos para que puedan ver bien distribuido los bloques
Código :
<style type="text/css"> .tit-per {width:100%; float:left; height:17px; padding-top:5px; padding-left:5px; margin-top:8px; border:1px #000 solid;} .ind-campos-peq{width:25%; float:left; height:17px; margin-top:8px;} .campo-txt-peq{width:25%; float:left; height:25px; margin-top:0px;} .ind-campos-gra{width:75%; float:left; height:17px; margin-top:8px;} .campo-txt-gra{width:75%; float:left; height:25px; margin-top:0px;} </style>
a continuacion el codigo html
Código HTML :
<form id="formulario" name="formulario" method="post" action="" onsubmit="return validar(this)"> <table width="100%" border="0" cellspacing="0" cellpadding="0" style="float:left;"> <tbody> <tr> <td> <div class="tit-per">Datos de persona relacionada.</div> <div class="ind-campos-peq">Primer Nombre</div> <div class="ind-campos-peq">Segundo Nombre</div> <div class="ind-campos-peq">Primer Apellido</div> <div class="ind-campos-peq">Segundo Apellido</div> <div class="campo-txt-peq"> <input name="masUsuariosNombre1[]" id="masUsuariosNombre1[]" type="text" maxlength="15" style="width:90%"> </div> <div class="campo-txt-peq"> <input name="masUsuariosNombre2[]" id="masUsuariosNombre2[]" type="text" maxlength="15" style="width:90%" value=""> </div> <div class="campo-txt-peq"> <input name="masUsuariosApellido1[]" id="masUsuariosApellido1[]" type="text" maxlength="30" style="width:90%" value=""> </div> <div class="campo-txt-peq"> <input name="masUsuariosApellido2[]" id="masUsuariosApellido2[]" type="text" maxlength="30" style="width:90%" value=""> </div> <div class="ind-campos-peq">Cédula</div> <div class="ind-campos-gra">Dirección domicilio</div> <div class="campo-txt-peq"><input name="masUsuariosCedula[]" id="masUsuariosCedula[]" type="text" maxlength="25" style="width:90%" value=""></div> <div class="campo-txt-gra"><input name="masUsuariosDireccion[]" id="masUsuariosDireccion[]" type="text" maxlength="70" style="width:95%" value=""></div> </td> </tr> </tbody> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0" style="float:left;"> <tbody> <tr> <td> <div class="tit-per">Datos de persona relacionada.</div> <div class="ind-campos-peq">Primer Nombre</div> <div class="ind-campos-peq">Segundo Nombre</div> <div class="ind-campos-peq">Primer Apellido</div> <div class="ind-campos-peq">Segundo Apellido</div> <div class="campo-txt-peq"> <input name="masUsuariosNombre1[]" id="masUsuariosNombre1[]" type="text" maxlength="15" style="width:90%"> </div> <div class="campo-txt-peq"> <input name="masUsuariosNombre2[]" id="masUsuariosNombre2[]" type="text" maxlength="15" style="width:90%" value=""> </div> <div class="campo-txt-peq"> <input name="masUsuariosApellido1[]" id="masUsuariosApellido1[]" type="text" maxlength="30" style="width:90%" value=""> </div> <div class="campo-txt-peq"> <input name="masUsuariosApellido2[]" id="masUsuariosApellido2[]" type="text" maxlength="30" style="width:90%" value=""> </div> <div class="ind-campos-peq">Cédula</div> <div class="ind-campos-gra">Dirección</div> <div class="campo-txt-peq"><input name="masUsuariosCedula[]" id="masUsuariosCedula[]" type="text" maxlength="25" style="width:90%" value=""></div> <div class="campo-txt-gra"><input name="masUsuariosDireccion[]" id="masUsuariosDireccion[]" type="text" maxlength="70" style="width:95%" value=""></div> </td> </tr> </tbody> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0" style="float:left;"> <tbody> <tr> <td style="text-align:center; padding-top:20px;"> <input name="Submit" type="submit" value="Ingresar usuario" style="height:35px; width:150px;" /> <input name="Reset" type="reset" value="Reiniciar" style="height:35px; width:150px;"> </td> </tr> </tbody> </table> </form>
Agradezco de antemano la ayuda que me presten
Salu2

