2016-01-23 2 views
3

Возможно ли включать правила проверки данных для операций Create, Update и Delete при использовании библиотеки построителя запросов Knex.js, хотя Knex не делает это out of the box?knex.js: включение правил проверки в запросы создания, обновления и удаления

Если да, то:

  • это хорошая идея или плохая идея, чтобы остаться внутри Knex для этого?
  • Если это подход ОК, есть ли достойный пример этого, на кого это может указывать?
  • Вам было бы лучше и иметь меньше трений, если вы включите Bookshelf.js?

Даже книжная полка не снабжена механизмом проверки.

ответ

3

Лучше использовать книжную полку, поскольку она обеспечивает события во время транзакции. Хотя книжная полка не оснащена встроенным механизмом проверки, вы можете использовать Checkit. Он построен тем же автором Knex и Bookshelf. Присоединившись к событию saving, вы можете эффективно проверить свою модель.

Вот простой пример:

var User = Bookshelf.Model.extend({ 
    tableName: 'users', 
    initialize: function() { 
     this.on('saving', this.validate, this); 
    }, 
    validations: { 
     email: ['required', 'validEmail'], 
     username: ['required', 'alphaNumeric'], 
     age: ['isNumeric'] 
    }, 
    validate: function(model, attrs, options) { 
     return CheckIt(this.toJSON()).run(this.validations); 
    } 
}); 

Заканчивать этот issue thread на GH для большего понимания.

Смежные вопросы