Foros del Web » Programando para Internet » Javascript »

duda script comprueba formato campo formulario

Estas en el tema de duda script comprueba formato campo formulario en el foro de Javascript en Foros del Web. Hola buenas, resulta que tengo un formulario del tipo: Código: <form method="POST" action="uploader.php?action=upload "enctype="multipart/form-data"> <input type="text" size="30" name="field_email" value=""> <input type="hidden" name="MAX_FILE_SIZE" value=""> <input type="file" ...
  #1 (permalink)  
Antiguo 16/10/2004, 17:07
 
Fecha de Ingreso: abril-2004
Mensajes: 310
Antigüedad: 20 años
Puntos: 0
duda script comprueba formato campo formulario

Hola buenas, resulta que tengo un formulario del tipo:

Código:
<form method="POST" action="uploader.php?action=upload "enctype="multipart/form-data">

<input type="text" size="30" name="field_email" value=""> 

<input type="hidden" name="MAX_FILE_SIZE" value="">

<input type="file" size="30" name="userfile[]">

<input class="checktype" type="checkbox" name="field_copy" value="Yes">Deseo recibir confirmación del envío</td>

<input type="submit" name="field_submit" value="Subir fichero(s)">
</form>
y tengo un código dentro del php al que va el formulario, que comprueba el formato del texto del campo userfile[]
Pero ahora quiero ese código en javascript para que en el propio formulario, con el script, se compruebe el formato antes de enviarlo al php, en vez de comprobarlo en php.
¿Qué debo modificar en el formulario?¿Y el código en php??


graciasss
  #2 (permalink)  
Antiguo 17/10/2004, 10:44
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
pon tu codigo en php para ver como lo convertimos a JS
  #3 (permalink)  
Antiguo 17/10/2004, 11:42
 
Fecha de Ingreso: abril-2004
Mensajes: 310
Antigüedad: 20 años
Puntos: 0
Pues ahí va, es algo muy básico y fácil de entender.
Código:
/*Validar formato.*/

  for($i=0; $i<count($_FILES[userfile][tmp_name]); $i++){

  $name = $_FILES[userfile][name][$i];
  $error="";
  $cuantosgui=0;
  $cuantosparab=0;
  $cuantosparce=0;
  $cuantosesp=0;
  $segp=0;
  $cuantospunt=0;
  $cuantascom=0;


// comprobar cuántos guiones hay
for($i=0;$i<200;$i++){
  if(strcmp($name[$i],"-")==0){
    $cuantosgui++;
  }
}
// comprobar cuántos paréntesis abiertos hay

for($i=0;$i<200;$i++){
  if(strcmp($name[$i],"(")==0){
    $segp=$i;
    $cuantosparab++;
  }
}
// comprobar cuántos paréntesis cerrados hay

for($i=0;$i<200;$i++){
  if(strcmp($name[$i],")")==0){
    $cuantosparce++;
  }
}
// comprobar cuantos puntos hay
for($i=0;$i<200;$i++){
  if(strcmp($name[$i],".")==0){
    $cuantospunt++;
  }
}

// comprobar cuantas comillas hay
for($i=0;$i<200;$i++){
  if(strcmp($name[$i],"'")==0){
    $cuantascom++;
  }
}


$errornomb=0;
$j=0;
$segp=$segp+1;

while(($name[$segp]!= ")")&&($name[$segp]!= ";")){
   if(strcmp($name[$segp], $uname[$j]) != 0){
     $errornomb=1;
   }
   $segp++;
   $j++;
}

if($cuantosgui!= 3){
   $error= "El archivo $name debe de tener 3 guiones normales y tiene $cuantosgui giones.";
}
elseif($cuantosparab != 2){
       $error= "El archivo $name debe de tener un paréntesis abierto antes del número de canción y otro antes de tu nick pero tiene $cuantosparab paréntesis. Un ejemplo: album-(3)-título_(tunick) ";
    }
    elseif($cuantosparce != 2){
          $error= "El archivo $name debe de tener un paréntesis cerrado después del número de canción y otro después de tu nick pero tiene $cuantosparce paréntesis. Un ejemplo: album-(3)-título_(tunick) ";
         }
         elseif($errornomb){
            $error= "Recuerda poner tu nombre entre paréntesis al final de la canción seguido de un _: nombrecancion_($uname)";
            }     
            elseif($cuantospunt!= 1){
               $error= "El nombre de la canción sólo puede tener un punto al final seguido de la extensión: cancion.mp3";
               }
                elseif($cuantascom!= 0){
                   $error= "El nombre de la canción no puede tener comillas simples";
                   }

if($error!= ""){
   ......
   .....
  }
}// del for
Me imagino que con una expresión regular me ahorro casi todo el código, pero esque no sé de expresiones regulares y eso me funciona bien. Los mensajes de error individuales estaría bien que se mostraran.

Última edición por apañero; 17/10/2004 a las 11:45
  #4 (permalink)  
Antiguo 21/10/2004, 17:28
 
Fecha de Ingreso: abril-2004
Mensajes: 310
Antigüedad: 20 años
Puntos: 0
..........
  #5 (permalink)  
Antiguo 21/10/2004, 19:32
Avatar de chinox  
Fecha de Ingreso: octubre-2004
Ubicación: Caracas
Mensajes: 16
Antigüedad: 19 años, 6 meses
Puntos: 1
Hola!

En el formulario debes hacer lo siguiente

Código:
<form name="formulario" method="post" onSubmit="return(validar(this));" action="uploader.php?action=upload enctype="multipart/form-data>
donde validar(this) es la funcion que tienes que hacer en JavaScript y debe devolver true si todo esta correcto. (obviamente false en caso contrario)

Con respecto a tu código en PHP le heche un vistazo y te recomiendo que lo hagas con expresiones regulares, te simplifica mas el codigo y es lo ideal para hacer validaciones.

aqui puedes conseguir algo al respecto

Salu2... ;)
__________________
:-D..:Ç ђ ﻨ η ס Ҳ ™:.. :-D
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:47.