Felhasználói eszközök

Eszközök a webhelyen


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

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalonElőző változat
oktatas:web:back-end_framework:express:ervenyesseg:express_beepitett [2025/02/09 15:00] – [Kontroller] adminoktatas:web:back-end_framework:express:ervenyesseg:express_beepitett [2025/03/30 08:23] (aktuális) – eltávolítva admin
Sor 1: Sor 1:
-[[oktatas:web:back-end_framework:express:ervenyesseg|< Érvényesség]] 
- 
-====== Express - Beépített érvényesítés ====== 
- 
-  * **Szerző:** Sallai András 
-  * Copyright (c) 2025, Sallai András 
-  * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] 
-  * Web: https://szit.hu 
- 
-===== Bevezetés ===== 
- 
-Az Express rendelkezik beépített érvényesítéssel. 
- 
-===== Model ===== 
- 
-<code javascript employee.js> 
-const { DataTypes } = require('sequelize') 
-const sequelize = require('../database/database') 
-  
-const Employee = sequelize.define('employee', { 
-    id: {  
-        type: DataTypes.INTEGER, 
-        autoIncrement: true, 
-        primaryKey: true 
-    }, 
-    name: {  
-        type: DataTypes.STRING,   
-        allowNull: false, 
-        validate: { 
-            notNull: { msg: 'A név mező kötelező' }, 
-            notEmpty: { msg: 'A név nem lehet üres' } 
-        } 
-    }, 
-    city: {  
-        type: DataTypes.STRING,   
-        allowNull: true, 
-        validate: { 
-            is: {  
-                args: /^[a-z]+$/i, 
-                msg: 'Hiba! Csak betűk adhatók meg!' 
-            } 
-        } 
-    }, 
-    salary: {  
-        type: DataTypes.DOUBLE,  
-        defaultValue: 300, 
-        validate: { 
-            isNumeric: {msg: 'Hiba! Csak szám adható meg!'} 
-        } 
-    }, 
-    birth: {  
-        type: DataTypes.DATEONLY,  
-        defaultValue: DataTypes.NOW, 
-        validate: { 
-            isDate: {msg: 'Hiba! Csak dátum!'} 
-        } 
-    } 
-}) 
- 
- 
-sequelize.sync({ 
-    force: false 
-}) 
- 
-module.exports = Employee 
-</code> 
- 
-===== Kontroller ===== 
- 
-Az érvényességet a modell-ben beállítottuk. Most nézzük meg, hogyan írhatunk saját  
-figyelmeztetést az érvényességi hibákra. 
- 
- 
-A hibakezelő részben vizsgáljuk meg, hogy érvényességi hiba történt-e: 
- 
-<code javascript> 
-if(error instanceof Sequelize.ValidationError) { 
-    res.status(400) 
-}else { 
-    res.status(500) 
-} 
-</code> 
- 
-Lehetséges teljes kód: 
- 
-<code javascript employeeController.js> 
-const { Sequelize } = require('sequelize') 
-const Employee = require('../models/employee') 
- 
-const EmployeeController = { 
-    async index(req, res) { 
-        try { 
-            await EmployeeController.tryIndex(req, res) 
-        } catch (error) { 
-            res.status(500) 
-            res.json({ 
-                success: false, 
-                error: error.message 
-            }) 
-        } 
-    }, 
-    async tryIndex(req, res) { 
-        const employees = await Employee.findAll() 
-        const result = employees.map(emp => ({ 
-            id: emp.id, 
-            name: emp.name, 
-            city: emp.city, 
-            salary: emp.salary, 
-            birth: emp.birth 
-        })) 
-        res.json({ 
-            success: true, 
-            data: result 
-        }) 
-    }, 
- 
-    async store(req, res) { 
-        try { 
-            await EmployeeController.tryStore(req, res) 
-        } catch (error) { 
-            if(error instanceof Sequelize.ValidationError) { 
-                res.status(400) 
-            }else { 
-                res.status(500) 
-            } 
-            const errorMessage = error.errors[0].message 
-            res.json({ 
-                access: false, 
-                error: errorMessage 
-            })             
-        } 
-    }, 
-    async tryStore(req, res) { 
-        const employee = { 
-            name: req.body.name, 
-            city: req.body.city, 
-            salary: req.body.salary, 
-            birth: req.body.birth 
-        }         
-        const result = await Employee.create(employee)         
-        res.status(201) 
-        res.json({ 
-            succes: true, 
-            data: result 
-        }) 
-    }     
-} 
- 
-module.exports = EmployeeController 
-</code> 
- 
-A mintaprogramban a hibakezelés és a lényegi kód szét van választva. 
- 
  
oktatas/web/back-end_framework/express/ervenyesseg/express_beepitett.1739109647.txt.gz · Utolsó módosítás: 2025/02/09 15:00 szerkesztette: admin