Tengo la siguiente solicitud post que valida algunos datos:
app.post( "/review", [ // Add the middleware to validate email and restaurant info below: check("email").isEmail(), check("restaurant").notEmpty().blacklist("<>"), check("rating").isNumeric(), check("review").notEmpty().blacklist("<>") ], // ... La documentación de validator.js demuestra el uso del método de blacklist de la siguiente manera:
blacklist(input, '\\[\\]') Teniendo en cuenta el contexto de cómo estoy agregando mi middleware, es un poco confuso entender cuál debería ser exactamente el parámetro de input . Ya estoy usando el método de check para buscar el campo de entrada, ¿qué debería ir exactamente en el método de blacklist ?
Dado que está utilizando [express-validator][1] que funciona como un contenedor sobre [validator.js][1] , express-validator inyecta la entrada en el método de la blacklist y, en su caso, dado que está utilizando check() del express-validator la entrada será el parámetro con la etiqueta que proporcionó como argumento para el método check() que podría existir en cualquiera de los siguientes objetos de solicitud:
req.bodyreq.cookiesreq.headersreq.paramsreq.query En su caso para check("restaurant").notEmpty().blacklist("<>") , se extraerá un parámetro con la etiqueta del restaurant de cualquiera de los objetos de solicitud antes mencionados y para check("review").notEmpty().blacklist("<>") , se extraerá un parámetro con la etiqueta review .
Entonces, el único argumento que debe proporcionarse para el método de verificación es una cadena de expresión regular que especifica los caracteres que deben eliminarse.