Javascript 在保存之前使用Sequelize Build来构建和验证模型
我有一种情况,我想通过条带接受付款,但首先需要验证表单输入 一旦表单验证,我将在success函数中调用Stripe并确保其良好。如果两者都好,我会处理付款,然后保存后 我正在努力做一个验证后,手-记住我不想保存它还 我正在将Express/Node.js与Sequelize-MySQL一起使用Javascript 在保存之前使用Sequelize Build来构建和验证模型,javascript,mysql,node.js,sequelize.js,Javascript,Mysql,Node.js,Sequelize.js,我有一种情况,我想通过条带接受付款,但首先需要验证表单输入 一旦表单验证,我将在success函数中调用Stripe并确保其良好。如果两者都好,我会处理付款,然后保存后 我正在努力做一个验证后,手-记住我不想保存它还 我正在将Express/Node.js与Sequelize-MySQL一起使用 var post = Post.build({ title: req.body.title, description: req.body.description, }) 我试过类
var post = Post.build({
title: req.body.title,
description: req.body.description,
})
我试过类似的东西,但在我的控制台上它显示为红色
post.validate().error(err => {
console.log(err)
})
下面这个解决方案是我在网上找到的,它不起作用
// if (errors) {
// for (var prop in errors) {
// console.log(prop.error)
// if (errors.hasOwnProperty(prop)) {
// console.log(errors[prop])
// console.log("Errors for field " + prop + ": ");
// // for (var i = 0; i < errors[prop].length; i++) {
// // errors[prop][i];
// // }
// }
// }
//如果(错误){
//for(错误中的var prop){
//控制台日志(属性错误)
//if(errors.hasOwnProperty(prop)){
//console.log(错误[prop])
//log(“字段“+prop+”:”的错误”;
////对于(var i=0;i
我想一次返回所有表单错误,然后当通过时,执行我的条带,然后当通过时,保存两者。要使用
sequelize
验证字段,并获得重大错误,说明您必须在模型定义中使用验证:{}
属性以及要检查的规则
关于文件:
模型验证器允许您指定格式/内容/继承
对模型的每个属性进行验证
在create
、update
和save
上自动运行。您也可以调用
validate()
手动验证实例
根据验证规则验证此实例的属性
在模型定义中设置
例如:
module.exports = (sequelize, DataTypes) => {
const test = sequelize.define(
'test',
{
testDate: {
allowNull: false,
type: DataTypes.Date,
defaultValue: DataTypes.NOW,
validate: {
isDate: true,
},
}
},
{
freezeTableName: true,
timestamps: false,
}
)
}
手动验证:
const item = await test.build(object)
const validatedItem = await item.validate()
如果未通过验证,则返回结果:
您可以在这里找到更多信息: