Felhasználói eszközök

Eszközök a webhelyen


oktatas:web:back-end_framework:express:ervenyesseg:yup

< Érvényesség

Express - Érvényesség Yup-pal

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.

Függőségek

npm install yup

Köztes szoftver

app/middlewares/userValidator.js
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

app/middlewares/employeeValidator.js
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)
oktatas/web/back-end_framework/express/ervenyesseg/yup.txt · Utolsó módosítás: 2024/12/30 23:15 szerkesztette: admin