Как санировать пользовательский ввод в мангусте?

Я пытаюсь дезинфицировать пользовательский ввод в мангусте. Я думал, что использование промежуточного программного обеспечения mongoose поможет, но кажется, что я либо ошибаюсь, либо делаю что-то не так.

Причина, по которой я пытаюсь использовать промежуточное программное обеспечение Mongoose (а не промежуточное программное обеспечение Express), заключается в том, что у меня есть документ, который может иметь вложенный документ, однако этот вложенный документ также может быть отдельным документом. Я пытаюсь создать "единую точку правды" для своих документов, чтобы я мог дезинфицировать только в одном месте.

Следующий код не работает:

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

PS. Я также использую mongoose-validator, который, в свою очередь, использует node-validator для проверки пользовательского ввода - у узла validator также есть некоторые методы sanitize, может, мне стоит их как-нибудь использовать?

1 ответ

Решение

В этом случае я думаю, что было бы лучше добавить trim: true к Organization определение схемы для subdomain:

subdomain: { type: String, trim: true }
Другие вопросы по тегам