1

マングースでユーザー入力をサニタイズしようとしています。マングースミドルウェアを使用することは役立つと思いますが、私は間違っているか、何か間違ったことをしているようです。

私がMongooseミドルウェア(Expressミドルウェアではなく)を使用しようとしている理由は、ネストされたドキュメントを持つことができるドキュメントがあるためです。ただし、ネストされたドキュメントはスタンドアロンドキュメントにすることもできます。1つの場所でのみサニタイズできるように、ドキュメントの「信頼できる唯一の情報源」を作成しようとしています。

次のコードは機能していないようです。

Organization.pre("validate", function (next) {
  this.subdomain = this.trim().toLowerCase();
  next();
});

PS。私はmongoose-validatorも使用しています。これは、node-validatorを使用してユーザー入力を検証します。nodevalidatorにはいくつかのサニタイズメソッドもあります。どういうわけかそれらを使用する必要がありますか?

4

1 に答える 1

2

この場合、次のスキーマ定義に追加trim: trueする方がよいと思います。Organizationsubdomain

subdomain: { type: String, trim: true }
于 2012-08-16T18:19:02.687 に答える