npm install node-input-validator
A node-input-validator használata esetén az alapértelmezés szerint nem kötelező megadni egy mezőt, ha az nincs required jelölővel megjelölve. Az alább példában, például nem kötelező megadni a city és salary mezőket, de a name mezőt kötelező.
import { Validator } from 'node-input-validator'; const empValidator = (req, res, next) => { const validator = new Validator(req.body, { name: 'required|minLength:2', city: 'minLength:2', salary: 'numeric|digitsBetween:3,6' }); validator.check().then((matched) => { if (!matched) { res.status(422); return res.json({ errors: validator.errors }); } next(); }); }; export { empValidator };
import { Router } from 'express'; import EmployeeController from '../controllers/employeeController.js'; import { empValidator } from '../middlewares/validator.js'; const router = Router(); router.get('/employees', EmployeeController.index); router.post('/employees', [empValidator], EmployeeController.store); export default router;
Nézzünk néhány példát, a validator.js fájlon belül, hogyan lehetne ellenőrizni például egy regisztrációt.
Egyszerűbb példa:
const validator = new Validator(req.body, { user: 'required', pass: 'required', pass_confirm: 'required|same:pass' });
Következő példa:
const validator = new Validator(req.body, { user: 'required', email: 'required|email', pass: 'required|minLength:8', pass_confirm: 'required|same:pass' });