< Érvényesség

Express - Érvényesség Yup-pal

Szerző: Sallai András

Copyright © 2024, Sallai András

Licenc: CC BY-SA 4.0

Web: https://szit.hu

Bevezetés

Célunk a bejövő adatok ellenőrzése. A bejövő adatokat ellenőrizhetjük a kontrollerben, a modellben vagy írhatunk rá köztes szoftvert.

https://www.npmjs.com/package/yup (2024)

Függőségek

npm install yup

Köztes szoftver

import { object, string } from 'yup'; const userRegisterValidator = (req, res, next) => { const userSchema = object({ name: string().required(), email: string().email().required(), password: string().required() }) userSchema.validate(req.body) .then(() => next()) .catch(err => { res.status(400) res.json({ success: false, message: err.message }) }) } const userLoginValidator = (req, res, next) => { const userSchema = object({ name: string().required(), password: string().required() }) userSchema.validate(req.body) .then(() => next()) .catch(err => { res.status(400) res.json({ success: false, message: err.message }) }) } export { userRegisterValidator, userLoginValidator }

Használat

import { userRegisterValidator, userLoginValidator } from '../middlewares/userValidator.js' //... router.post('/register', [userRegisterValidator], AuthController.register) router.post('/login', [userLoginValidator],AuthController.login)

Dolgozat

import { object, string, number } from 'yup'; const employeeCreateValidator = (req, res, next) => { const employeeSchema = object({ name: string().required(), city: string(), salary: number() }) employeeSchema.validate(req.body) .then(() => next()) .catch(err => { res.status(400) res.json({ success: false, message: err.message }) }) } export { employeeCreateValidator }
router.post('/employees', [employeeCreateValidator], EmployeeController.store)