Exepciones en validacion de Formulario.

Hola que tal webmasters.

Miren como no manejo mucho php decidi utilizar el comportamiento de validar formularios que me ofrece Dreamweaver.

Pero lo que yo necesito es que en ciertas validaciones me permita alguna exepciones. como por ej: En el campo de teléfono permitir el ingreso de numero, los carácteres “/” “-” “(“ “)” y el especio ” “. Por si el cliente quiere cargar dos teléfonos o el código de area.

Y realmente quisiera saber si me ayudan a modificar el código.


<script type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d)&&d.all) x=d.all; for (i=0;!x&&i<d.forms.length;i++) x=d.forms;
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_valida teForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' Debe contener un email valido.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' Debe contener solo numeros.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' Debe completarse..\n'; }
} if (errors) alert('Te faltan completar algunos campos..\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>

Entonces el sector if (isNaN(val)) errors+='- '+nm+' Debe contener solo numeros.\n'; Deberia sufrir alguna modificacion creo para que admita algunos caracteres ademas de números.

Gracias.
Primero que nada decirte (por las dudas) que esto no es código php, sino javascript ;)
Por esto es que tienes que tener cuidado, porque por un tema de seguridad, dependiendo de lo que hagas luego con esos datos, si solo se valida por javascript, se puede saltar la validacion.

No me queda del todo claro la funcion, pero basicamente esa linea que muestras, hace un isNan(val) que se fija si la variable val que le pasas no es un numero. En el caso de los caracteres que tu quieres admitir, dejaría de ser un número, el tema es que cosas si quieres admitir.

Ya que es un código generado por dreamweaver no te recomiendo mucho tocarlo, si no puedes arreglarlo desde dreamweaver, mejor hacerlo de cero (si no sabes como te ayudamos :)

Saludos!!