function limitar_textarea(field, maxlimit) { if (field.value.length > maxlimit) // if too long...trim it! field.value = field.value.substring(0, maxlimit); } function checkrequired(formulario) { //if (document.images) { for (i=0;i 0) { if (((tempobj.type=="select-one")||(tempobj.type=="text")||(tempobj.type=="textarea")||(tempobj.type=="password")||(tempobj.type=="file"))&&(valor.length==0)&&(nombre_campo.length >0)){ alert("El campo: "+nombre_campo+" es obligatorio."); //tempobj.style.background = "#CCCCCC"; //permitir cambiar el color de fondo del campo tempobj.focus(); return false; } if ((tipo.length > 0)&&(valor.length > 0)) { switch (tipo){ case "cmb": if (isNaN(valor)) { alert("El campo: "+nombre_campo+" es obligatorio."); return false; } if ( valor == 0 ) { alert("El campo: "+nombre_campo+" es obligatorio."); return false; } break; case "num": if (isNaN(valor)) { alert("El campo: "+nombre_campo+" debe ser numérico"); tempobj.select(); return false; } break; case "dts": if (!validar_fecha(tempobj.name, formulario)) { tempobj.select(); return false; } break; case "@@@": var inicio = valor.indexOf("@"); var fin = valor.lastIndexOf("@"); if ((inicio != fin) || ((inicio == -1) && (fin == -1)) || ((inicio == 0) && (fin == 0))|| ((inicio == valor.length-1) && (fin == valor.length-1))){ alert("El valor del campo: "+nombre_campo+" no contiene un formato válido de correo electrónico."); tempobj.select(); return false; } break; case "hhh": var horas=valor.split(":")[0]; var minutos=valor.split(":")[1]; var segundos=valor.split(":")[2]; if (valor.indexOf(":")==-1) { alert("La hora indicada no tiene el formato correcto: hh:mm o hh:mm:ss"); tempobj.select(); return false; } if ((horas > "23")||(horas < "0")) { alert("La parte horaria de la hora es incorrecta.\nLas parte horaria va desde 00 a 23."); tempobj.select(); return false; } if ((minutos > "59")||(minutos < "0")) { alert("Los minutos de la hora son incorrectos."); tempobj.select(); return false; } if ((segundos > "59")||(segundos < "0")) { alert("La segundos de la hora son incorrectos."); tempobj.select(); return false; } break; case "txt": break; case "bit": break; case "ids": break; } } } } //} //fin document.images return true; } var a, mes, dia, anyo, febrero; function anyoBisiesto(anyo){ if (anyo < 100) var fin = anyo + 1900; else var fin = anyo ; if (fin % 4 != 0) return false; else { if (fin % 100 == 0) { if (fin % 400 == 0) return true; else return false; } else return true; } } function validar_fecha(nm_campo_, formulario_) { var a = eval("formulario_."+nm_campo_+".value"); if (a.indexOf("/")==-1) { alert("La fecha indicada no tiene el formato correcto: dd/mm/aaaa"); return false; } dia = parseInt(a.split("/")[0],10); mes = parseInt(a.split("/")[1],10); anyo = parseInt(a.split("/")[2],10); if(anyoBisiesto(anyo)) febrero=29; else febrero=28; if (isNaN(mes) || (mes<1) || (mes>12)) { alert("El mes introducido no es valido. Por favor, introduzca un mes correcto"); return false; } if ((isNaN(mes) || (mes==2)) && (isNaN(dia) || (dia<1) || (dia>febrero))) { alert("El dia introducido no es valido. Por favor, introduzca un dia correcto"); return false; } if ((isNaN(mes) || (mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && (isNaN(dia) || (dia<1) || (dia>31))) { alert("El dia introducido no es valido. Por favor, introduzca un dia correcto"); return false; } if ((isNaN(mes) || (mes==4) || (mes==6) || (mes==9) || (mes==11)) && (isNaN(dia) || (dia<1) || (dia>30))) { alert("El dia introducido no es valido. Por favor, introduzca un dia correcto"); return false; } if (isNaN(anyo) || (anyo<1900) || (anyo>3000)) { alert("El año introducido no es valido."); return false; } return true; }