#javascript #json #postgresql #sequelize.js #joi
Вопрос:
Я использую валидатор схемы для проверки и очистки схемы JSON перед ее установкой. Он выполняет проверку и выдает чистую версию (если она действительна) за один шаг, поэтому было бы излишним использовать ее как validate
в свойствах, так и set()
в свойствах. Нет необходимости делать это дважды.
Гарантирует ли выдача ошибки из set (), что модель не будет сохранена в базе данных?
Вот, например, столбец из модели:
metadata: { type: DataTypes.JSONB, set(obj) { const { error, value } = schema.validate(obj) if (error) throw error this.setDataValue('metadata', value) }, },
Комментарии:
1. Чтобы перефразировать мой вопрос и решить мою главную проблему, я бы спросил
set()
: гарантирует ли ошибка, вызванная ошибкой, что модель не будет сохранена в базе данных?