Как санировать пользовательский ввод в мангусте?
Я пытаюсь дезинфицировать пользовательский ввод в мангусте. Я думал, что использование промежуточного программного обеспечения 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 }