Validación de cadenas y senitizor para Node.js

La validación estricta de los datos entrantes es una parte muy esencial y esperada de cualquier sistema de software. Debe estar muy seguro de la naturaleza de los datos, especialmente de los que provienen de otra fuente.

Todos validamos datos simples como correo electrónico, nombre, fecha de nacimiento, etc., pero durante el desarrollo hay muchos casos en los que también necesitamos validar otras cosas (JSON, Base64, UUID, etc.).

Validador de nodo

Chris O’Hara fue el autor de este módulo de nodejs , que es un paquete realmente muy útil. Este paquete cubre la mayor parte de la desinfección y validación de cuerdas. Los siguientes son ejemplos de algunos:

isEmaildevuelve verdadero / falso
isURLdevuelve verdadero / falso
isIPdevuelve verdadero / falso
isBase64devuelve verdadero / falso
isFloatdevuelve verdadero / falso
isDivisibleBydevuelve verdadero / falso
es nulodevuelve verdadero / falso
isUUIDdevuelve verdadero / falso
isJSONdevuelve verdadero / falso

Alguna desinfección útil:

hasta la fechaConversión a formato de fecha.
escaparSe utiliza a menudo para consultas SQL
flotarSe convierte en flotar

¡Visite su página oficial de Github y podrá ver más al respecto!

Aplicación de ejemplo:

Vamos a construir una aplicación de nodo simple que consta de elementos de formulario como correo electrónico, nombre y en el back-end validaremos los datos de entrada provenientes de los formularios.

Package.json
{
  “nombre” : “validador-para-nodo” ,
  “versión” : “0.0.1” ,
  “dependencias” : {
    “body-parser” : “^ 1.12.0” ,
    “express” : “^ 4.12.0 ” ,
    ” validador ” : ” ^ 3.32.0 ”
  }
}

Instalar dependencias ejecutando

npm install

en la terminal o en el símbolo del sistema.

form.html
< html >
  < head >
    < title > Validador de nodo < / title >
  < / head >
  < body >
    < form id = “main_form” action = “validateform” method = “post” >
      < label > Nombre: < / label > < tipo de entrada = “texto” nombre = “nombre_usuario” >
      < etiqueta >Correo electrónico: < / etiqueta > < entrada de tipo = “TEXT” nombre = “email” > < br >
      < entrada de tipo = “submit” valor = “Enviar” >
    < / formar >
  < / cuerpo >
< / html >

En la acción de envío del formulario, se redirigirá a “validateform” y necesitamos administrar esto en nuestro backend de Node.js. Aquí está nuestro archivo de servidor.

Server.js
var express       =     require ( “express” ) ;
var validation     =     require ( “validador” ) ;
var bodyParser     =     require ( “body-parser” ) ;

var app = express ( ) ;

aplicación.
use ( bodyParser. urlencoded ( { extendido : falso } ) ) ;


aplicación.
obtener ( ‘/’, función ( req , res ) {

    res.
sendFile ( __dirname + ‘/form.html’ ) ;
} ) ;

/ * El formulario se redirigirá aquí con los datos de entrada * /

app.
post ( ‘/ validateform’ , function ( req , res ) {
    if ( ! validation. isEmail ( req. body . email ) ) {
                // Retorno verdadero o falso por esta función.

        res.
enviar ( “El correo electrónico es incorrecto” ) ;
    } else if ( ! validation. isAlpha ( req. body . user_name ) ) {

        res.
enviar ( “El nombre es incorrecto” ) ;
    } else {

        res.
enviar ( “Formulario enviado” ) ;
    }
} ) ;

aplicación.
listen ( 4000 , function ( ) {

    console.
log (“Escuchando en PORT 3000” ) ;
} ) ;

Ejecutando la aplicación:

Ejecute este código escribiendo

nodo Server.js

en la terminal y visite “localhost: 3000” para ver la aplicación.

Escriba un correo electrónico incorrecto, como sin ‘@’ y el nombre, que contiene números, y vea el resultado.

Agregándolo al lado del cliente:

Descargue el archivo minificado de GitHub y agréguelo al lado del cliente usando la etiqueta Script. Aquí hay un fragmento de código por ejemplo.


< script type = “text / javascript” >

  validador.
isEmail ( ‘shahid@codeforgeek.com’ ) ; // => verdadero

  validador.
isEmail ( ‘shahid – codeforgeek.com’ ) ; // => script falso >

Conclusión:

La única intención detrás de esta publicación era ahorrarle tiempo al realizar un trabajo adicional y repetitivo de validación de cadenas y diversos datos. Espero que esta biblioteca le ayude y le ahorre tiempo y no se olvide de Fork y protagonice el Proyecto.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *