• Publicidad
  • Contacto
Pixelco Tech Blog
  • Noticias
  • Video
  • Tecnología
  • Fotografía
  • Internet
    • Desarrollo/programación
    • Diseño
No Result
View All Result
Pixelco Tech Blog
  • Noticias
  • Video
  • Tecnología
  • Fotografía
  • Internet
    • Desarrollo/programación
    • Diseño
No Result
View All Result
Pixelco Tech Blog
No Result
View All Result

Tutorial – Validar formularios con PHP y Javascript

Diego CambiasoporDiego Cambiaso
30/04/2011
enDesarrollo/programación, Internet, Recursos
min. lectura5 min
0

Validar formularios con PHP y Javascript

Siempre que creemos un formulario web (HTML), hay que validar las entradas. Esto siempre se hace del lado del cliente o cliente-side y del lado del servidor o server-side.

Del lado del servidor utilizamos el lenguaje que esté desarrollado el sitio, por ejemplo si el sitio está desarrollado con PHP, hay que crear un mecanismo que lea y valide todos los datos que llegan en las variables del formulario usando algo así:

EntradasRelacionados

La tecnología y los datos están manteniendo “fresca” a la industria

El Internet de las Cosas revoluciona al mundo

...
<?php
if (!$_POST){
?>
   <?php aquí va le código del formulario que podría estar en un archivo include ?>
<?php
}else{    ?>
<?php
    $cuerpo = "Formulario de contacto\n";
    $cuerpo .= "Nombre: " . $_POST["nombre"] . "\n";
    $cuerpo .= "Email: " . $_POST["correo"] . "\n";
    $cuerpo .= "Comentarios: " . $_POST["comentario"] . "\n";
    mail("info@xxxxxxx.com",$_POST["correo"],$cuerpo);
    echo "<h4>Mesanje eviado correctamente. ¡Gracias por escribirnos!</h4>"; ?>
    <?php
   <?php aquí va le código del formulario que podría estar en un archivo include ?>
}?>
...

En el código la variable $_POST es la que contiene los datos enviados desde el formulario. En el caso que esté vacía, simplemente mostrará el formulario, caso contrario enviará estos datos por correo y volverá a mostrar el formulario en caso que el usuario necesite enviar otra consulta.

En código anterior no se realiza ninguna validación, simplemente se envían los datos por correo, pero estas podrían estar vacías ya que el usuario olvidó escribir algunos de los datos solicitados o presionó por error el botón de enviar.

Para asegurarnos que esto no ocurra, tendríamos que validar que las variable no estén vacías y que la información contenida sea la solicitada, para esto podríamos usar algún código similar al siguiente:

...
    if (empty($_POST['nombre'])) $error .= "<p class=\"error\">No has introducido tu nombre</p>";
    if (empty($_POST['correo'])) $error .= "<p class=\"error\">No has introducido tu dirección de correo</p>";
    if (empty($_POST['comentario'])) $error .= "<p class=\"error\">No has escrito nada en el cuerpo del mensaje</p>";
    $text_len = strlen($_POST['comentario']);
    if($text_len > 800) { $error .= "<p class=\"error\">El comentario debe ser de menor a 800, se ingresaron $text_len </p>"; }
    if(isset($_POST['correo']))
      {
        if (!comprobar_email($_POST['correo']))
        { $error .= "<p class=\"error\">La dirección de correo es incorrecta</p>"; }
      }// end of email check
    if($error) {
        echo $error;?>
...

Personalmente me gusta hacer la validación del lado del cliente por medio de Javascript. Igualmente siempre es necesario la validación del lado del servidor, ya que recordemos, que el Javascript podría estar deshabilidado del lado del cliente.

La validación con Javascript es muy sencilla, sólo hay que utilizar alguna biblioteca como:

  • JSValidate – Biblioteca Javascript para validar formularios
  • LiveValidation – Biblioteca Javascript para validar formularios
  • o Validanguage – Biblioteca orientada a objetos para validar formularios entre muchas otras.

Si bien todas ofrecen funcionalidades similares, en mis desarrollos utilizo JSValidate.

JSValidate es un biblioteca Javascript para validar formularios que funciona muy bien y es muy fácil de implementar.

Simplemente hay que subir el archivo JS a al servidor y enlazarlo desde la página del formulario:

<script src="javascripts/jsvalidate.js" type="text/javascript"></script>

Es este caso el archivo de la biblioteca es jsvalidate.js y está alojado en la carpeta javascripts.

Además, requiere enlazar otras dos bibliotecas:

<script type="text/javascript" language="javascript" src="scriptaculous/lib/prototype.js"></script>
<script type="text/javascript" language="javascript" src="scriptaculous/src/scriptaculous.js"></script>

Para validar los campos de un formularios debemos usar un código similar al siguiente:

<form name="input" enctype="multipart/form-data" method="post" action="http://direccion-del-sitio.com/?contacto.html">
<label for="nombre" accesskey="n">Nombre:</label>
<input type="text" name="nombre" class="jsrequired" />
<label for="correo" accesskey="c">Correo electr&oacute;nico:</label>
<input type="text" name="correo" class="jsrequired jsvalidate_email" />
<label for="comentario" accesskey="o">Consulta/comentario</label>
<textarea name="consulta" cols="30" rows="6" ></textarea>
<input type="submit" value="Enviar" />
</form>

En el caso del campo nombre, sólo hay que agregar una clase con el valor jsrequired, con esto decimos que este campo es requerido es decir, este no puede ser enviado vacío.

En el campo correo, el valor de la clase es jsrequired jsvalidate_email que es justamente para validar que la dirección de correo escrita, sea válida es decir, que corresponda la formato nombre@dominio.xxx.

La lista completa de los valores de las clases que podemos usar para validar los campos del formulario son:

  • jsrequired – valor obligatorio.
  • jsvalidate_number – valor numérico obligatorio.
  • jsvalidate_digits – sólo números.
  • jsvalidate_alpha – sólo letras.
  • jsvalidate_alphanum – sólo letras, números y guiones (underscores).
  • jsvalidate_email – dirección de correo.
  • jsvalidate_uscanzip – códigos postales de Estados Unidos.
  • jsvalidate_usstate – dos letras en mayúsculas para estado de Estados Unidos.
  • jsvalidate_usphone – números telefónicos en el formato de Estados Unidos.
  • jsvalidate_creditcard – números de tarjetas de crédito: VISA, MasterCard y American Express (sin espacios).
  • jsvalidate_ssn – número del seguro social de Estados Unidos.
  • select-notfirst – para usar en campos descolgables.

Además, tenemos que editar ciertos valores de variables contenidas en el archivo jsvalidate.js, que corresponden a los mensajes informativos mostrados (errores, dato esperado, etc.), esto hay que cambiarlo porque están en inglés así, si nuestro sitio, está en español estos se mostraran en dicho idioma.

Todo el código que se muestra en este tutorial ha sido simplificado por efecto didáctico y no se tiene en cuenta implementaciones de seguridad.

Tags: bibliotecasdesarrollo webformulariosformularios webhtmljavacriptJavascriptlibreriasPHPPHPprogramaciónRecursosscripttutorialTutorialesvalidarweb

Suscribirse para recibir las últimas actualizaciones de Pixelco.

Cancelar suscripción
Diego Cambiaso

Diego Cambiaso

Desarrollador de software egresado de la Universidad Católica de Argentina y fotógrafo. Blogger desde hace más de 13 años, creador de Pixelco Tech Blog. Entusiasta del diseño, apasionado por la tecnología y el social media. EN-ES-IT

RelacionadoEntradas

Útiles tips para usar Samsung DeX para PC

21/06/2020
EaseUS Data Recovery - recuperar archivos borrados

EaseUS Data Recovery programa para recuperar archivos borrados

16/02/2019
Microsoft Teams - Interface

Microsoft Teams disponible para usuarios de Office 365 en el mundo

20/03/2017
Crédito: Walt Disney Animation Studios y Walt Disney Pictures

Construir un Sitio web con los editores de WYSIWYG: Pros y Cons

12/07/2016

Vivo Y50 Review

https://www.youtube.com/watch?v=H2urBEMmHJc&ts

The Sero

https://www.youtube.com/watch?v=Za5_Lbpr5aA

Lenovo Ideapad Gaming 3

https://www.youtube.com/watch?v=y6rJ0R3T-Eg

Ecosistema de Samsung

https://www.youtube.com/watch?v=vmPx0yT1XUk&t=6s

Familia Moto One Fusion

https://www.youtube.com/watch?v=J5eA3d6QEfk

Moto G9 Plus – Unboxing

https://www.youtube.com/watch?v=mzlufN7eSyI

Pixelco Tech Blog

Pixelcoes sitio de noticias de tecnología, diseño y desarrollo web e Internet escrito por profesionales.

Sobre Pixelco

Objetivo de Pixelco

Informar, promocionar, proporcionar recursos y ayuda sobre el diseño y desarrollo web, estándares, Internet y tecnología.

Pixelco Tech Blog

  • Contacto
  • Pixelco
  • Pixelco entradas
  • Política de Privacidad
  • Publicidad
  • Sobre Pixelco
Pixelco Tech Blog - Desde 2006

© 2020 Pixelco Tech Blog - Internet & Tecnología - Por Diego Cambiaso.

  • Publicidad
  • Contacto
  • Política de Privacidad
  • Sobre Pixelco
  • Internet
    • Recursos
    • Diseño
    • Desarrollo/programación
  • Tecnología
  • Noticias
  • Fotografía

© 2020 Pixelco Tech Blog - Internet & Tecnología - Por Diego Cambiaso.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies Política de privacidad.