[[oktatas:web:back-end_framework:express:ervenyesseg|< Érvényesség]]
====== Express - Érvényesség node-input-validator-ral ======
* **Szerző:** Sallai András
* Copyright (c) 2024, Sallai András
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== Függőségek =====
npm install node-input-validator
===== 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 };
===== Használat az útválasztóban =====
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;
===== Regisztráció ellenőrzése =====
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'
});
===== Link =====
* https://www.npmjs.com/package/node-input-validator (2024)