我正在从事快递和续编工作,以制作一个api,我有下一个模型:
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable('Usuarios', {
username: {
type: Sequelize.STRING,
primaryKey:true,
allowNull:false,
validate:{
max:25
}
},
primerNombre: {
type: Sequelize.STRING,
validate:{
max:25
}
},
segundoNombre: {
type: Sequelize.STRING,
validate:{
max:25
}
},
primerApellido: {
type: Sequelize.STRING,
validate:{
max:25
}
},
segundoapellido: {
type: Sequelize.STRING,
validate:{
max:25
}
},
direccion: {
type: Sequelize.STRING,
validate:{
max:250
}
},
telefono: {
type: Sequelize.INTEGER,
validate:{
max:8
}
},
password: {
type: Sequelize.STRING,
validate:{
min:8
},
allowNull:false
},
admin:{
type:Sequelize.BOOLEAN,
allowNull: false,
},
createdAt: {
allowNull: false,
type: Sequelize.DATE
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE
}
},
{
charset:'utf8'
}
);
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable('Usuarios');
}
};
和y使下一个路由器通过方法发布来回答路由http://localhost/usuarios/。
var express = require('express');
router = express.Router();
var model = require('../models/index');
router.post('/',function(req,res,next){
console.log("entramos a este evento");
model.Usuario.create({
username:req.body.username,
primerNombre: req.body.primerNombre,
segundoNombre: req.body.segundoNombre,
primerApellido: req.body.primerApellido,
segundoapellido: req.body.segundoapellido,
direccion: req.body.direccion,
telefono: req.body.telefono,
password: req.body.password
}).then(usuario => res.status(201).json({
error: false,
data: usuario,
message: 'New user is been created'
}))
.catch(error => res.json({
error:true,
data:[],
error:error
}))
});
module.exports = router;
如果我发送的密码无效的请求(例如null),则会将其添加到数据库中,我该如何真正进行模型验证?