From 85227f2069f1a18debb13122a1cd97a3ccbea4fd Mon Sep 17 00:00:00 2001 From: Nathan Loisel Date: Tue, 10 Jan 2017 13:15:11 +0100 Subject: [PATCH 1/2] Allow to specify Rules & FileRules class --- lib/fieldValidator.js | 5 ++--- lib/fileValidator.js | 5 ++--- lib/validate.js | 17 +++++++++++------ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/lib/fieldValidator.js b/lib/fieldValidator.js index d654682..a7306c7 100644 --- a/lib/fieldValidator.js +++ b/lib/fieldValidator.js @@ -1,16 +1,15 @@ 'use strict'; var RequiredRules = require('./requiredRules'); -var Rules = require('./rules'); var Filters = require('./filters'); class FieldValidator{ - constructor(context, fields, rules, messages, filters){ + constructor(context, fields, rules, messages, filters, ruleClass){ this.ctx = context; this.fields = fields; this.filters = new Filters(this); - this.rules = new Rules(this); + this.rules = new ruleClass(this); this.requiredRules = new RequiredRules(this); this.rule = {}; diff --git a/lib/fileValidator.js b/lib/fileValidator.js index 2f70614..d9ffbed 100644 --- a/lib/fileValidator.js +++ b/lib/fileValidator.js @@ -1,16 +1,15 @@ 'use strict'; var RequiredRules = require('./requiredRules'); -var FileRules = require('./fileRules'); var FileActions = require('./fileActions'); class FileValidator{ - constructor(context, fields, rules, deleteOnFail, messages, actions) { + constructor(context, fields, rules, deleteOnFail, messages, actions, ruleClass) { this.ctx = context; this.fields = fields; this.requiredRules = new RequiredRules(this); - this.rules = new FileRules(this); + this.rules = new ruleClass(this); this.actions = new FileActions(this); this.rule = {}; diff --git a/lib/validate.js b/lib/validate.js index 6e2ef4d..b32e8fe 100644 --- a/lib/validate.js +++ b/lib/validate.js @@ -8,7 +8,7 @@ let Filters = require('./filters'); let FileRules = require('./fileRules'); let FileActions = require('./fileActions'); -module.exports = function() { +module.exports = function(rulesClass) { return function * (next) { let v; this.validateBody = function *(rules, messages, filters){ @@ -23,7 +23,8 @@ module.exports = function() { fields, rules, messages || {}, - filters || {} + filters || {}, + rulesClass || Rules ); yield v.valid; @@ -35,7 +36,8 @@ module.exports = function() { this.params || {}, rules, messages || {}, - filters || {} + filters || {}, + rulesClass || Rules ); yield v.valid; @@ -47,7 +49,8 @@ module.exports = function() { this.request.query || {}, rules, messages || {}, - filters || {} + filters || {}, + rulesClass || Rules ); yield v.valid; @@ -59,7 +62,8 @@ module.exports = function() { this.headers || {}, rules, messages || {}, - filters || {} + filters || {}, + rulesClass || Rules ); yield v.valid; @@ -74,7 +78,8 @@ module.exports = function() { rules, deleteOnFail || false, messages || {}, - actions || {} + actions || {}, + rulesClass || FileRules ); yield v.valid; From e801c2fa7354d0b764ef8c9898c1e54a6a889a0b Mon Sep 17 00:00:00 2001 From: Nathan Loisel Date: Tue, 10 Jan 2017 13:16:54 +0100 Subject: [PATCH 2/2] Allow to specify Rules & FileRules class part 2 --- lib/validate.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/validate.js b/lib/validate.js index b32e8fe..bb246b9 100644 --- a/lib/validate.js +++ b/lib/validate.js @@ -8,7 +8,7 @@ let Filters = require('./filters'); let FileRules = require('./fileRules'); let FileActions = require('./fileActions'); -module.exports = function(rulesClass) { +module.exports = function(rulesClass, fileRulesClass) { return function * (next) { let v; this.validateBody = function *(rules, messages, filters){ @@ -79,7 +79,7 @@ module.exports = function(rulesClass) { deleteOnFail || false, messages || {}, actions || {}, - rulesClass || FileRules + fileRulesClass || FileRules ); yield v.valid;