簡體   English   中英

knex.js:在創建,更新和刪除查詢中包含驗證規則

[英]knex.js: incorporating validation rules in create, update, and delete queries

使用Knex.js查詢構建器庫時,是否可以合並用於創建,更新和刪除操作的數據驗證規則,即使Knex沒有開箱即用

如果是,那么:

  • 為此留在Knex內是一個好主意還是壞主意?
  • 如果這是一個好的方法,有沒有一個人可以指出的一個很好的例子?
  • 如果你包括Bookshelf.js,你會變得更好並且摩擦力更小嗎?

甚至Bookshelf也沒有驗證引擎。

最好使用書架,因為它在交易期間提供事件。 雖然書架沒有內置驗證引擎,但您可以使用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);
    }
});

查看GH上的此問題主題以獲得更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM