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
