为什么我的 var 在添加 .methods 时返回为未定义?
Why is my var being returned as undefined when adding .methods to it?
我正在尝试将 bycrypt 添加到身份验证 table,但在尝试添加 generateHash 和 validPassword 方法时出现 authTable 未定义的错误。 authTables.methods 部分有什么我不理解的地方吗?
当我注释掉 generateHash 和 validPassword 部分时代码有效,这让我相信 .methods 是挂断。
var bcrypt = require("bcryptjs");
module.exports = function (sequelize, DataTypes) {
var authTable = sequelize.define("authTable", {
username: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [1, 30]
}
},
password: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [6, 20]
}
},
email: {
type: DataTypes.STRING,
allowNull: false,
validate: {
isEmail: true,
len: [1]
}
}
});
authTable.methods.generateHash = function(password) {
return bcrypt.hashSync(password, bcrypt.genSaltSync(10), null);
};
authTable.methods.validPassword = function(password) {
return bcrypt.compareSync(password, this.local.password);
};
return authTable;
}
我希望这会使用加密密码进入数据库中的 table。
我收到的错误是:
TypeError: 无法设置未定义的 属性 'generateHash'。
TypeError: 无法设置未定义的 属性 'validPassword'
I'm getting an error that authTable is undefined
不,你不知道。您收到 authTable.methods
未定义的错误。
define
returns Model
的实例,正如您在 the documentation of Model
中所见,它没有名为 [=14] 的 属性 =],因此,authTable.methods
将计算为 undefined
。
我正在尝试将 bycrypt 添加到身份验证 table,但在尝试添加 generateHash 和 validPassword 方法时出现 authTable 未定义的错误。 authTables.methods 部分有什么我不理解的地方吗?
当我注释掉 generateHash 和 validPassword 部分时代码有效,这让我相信 .methods 是挂断。
var bcrypt = require("bcryptjs");
module.exports = function (sequelize, DataTypes) {
var authTable = sequelize.define("authTable", {
username: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [1, 30]
}
},
password: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: [6, 20]
}
},
email: {
type: DataTypes.STRING,
allowNull: false,
validate: {
isEmail: true,
len: [1]
}
}
});
authTable.methods.generateHash = function(password) {
return bcrypt.hashSync(password, bcrypt.genSaltSync(10), null);
};
authTable.methods.validPassword = function(password) {
return bcrypt.compareSync(password, this.local.password);
};
return authTable;
}
我希望这会使用加密密码进入数据库中的 table。
我收到的错误是:
TypeError: 无法设置未定义的 属性 'generateHash'。
TypeError: 无法设置未定义的 属性 'validPassword'
I'm getting an error that authTable is undefined
不,你不知道。您收到 authTable.methods
未定义的错误。
define
returns Model
的实例,正如您在 the documentation of Model
中所见,它没有名为 [=14] 的 属性 =],因此,authTable.methods
将计算为 undefined
。