- 我最终发现,您可以结合使用 虚拟路径
- 和
invalidate
函数来实现此目的(如本要点所示),以达到与密码匹配相同的目的:https - //gist.github.com/1350041
直接引用:
CustomerSchema.virtual('password').get(function() { return this._password;}).set(function(value) { this._password = value; var salt = bcrypt.gen_salt_sync(12); this.passwordHash = bcrypt.encrypt_sync(value, salt);});CustomerSchema.virtual('password/confirm/iation').get(function() { return this._password/confirm/iation;}).set(function(value) { this._passwordConfirmation = value;});CustomerSchema.path('passwordHash').validate(function(v) { if (this._password || this._password/confirm/iation) { if (!val.check(this._password).min(6)) { this.invalidate('password', 'must be at least 6 characters.'); } if (this._password !== this._password/confirm/iation) { this.invalidate('password/confirm/iation', 'must match /confirm/iation.'); } } if (this.isNew && !this._password) { this.invalidate('password', 'required'); }}, null);


