From fa187949bbb836770c975d3cdc8cc76b1b385835 Mon Sep 17 00:00:00 2001 From: fridays Date: Sat, 19 Mar 2016 07:33:33 +0100 Subject: [PATCH] Allows array of validators without them being wrapped in objects Fix for #331 --- dist/backbone-validation-amd.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/dist/backbone-validation-amd.js b/dist/backbone-validation-amd.js index 6f90e318..43db9b36 100644 --- a/dist/backbone-validation-amd.js +++ b/dist/backbone-validation-amd.js @@ -141,13 +141,6 @@ var getValidators = function(model, attr) { var attrValidationSet = model.validation ? _.result(model, 'validation')[attr] || {} : {}; - // If the validator is a function or a string, wrap it in a function validator - if (_.isFunction(attrValidationSet) || _.isString(attrValidationSet)) { - attrValidationSet = { - fn: attrValidationSet - }; - } - // Stick the validator object into an array if(!_.isArray(attrValidationSet)) { attrValidationSet = [attrValidationSet]; @@ -157,6 +150,14 @@ // with a validation method to call, the value to validate against // and the specified error message, if any return _.reduce(attrValidationSet, function(memo, attrValidation) { + + // If the validator is a function or a string, wrap it in a function validator + if (_.isFunction(attrValidation) || _.isString(attrValidation)) { + attrValidation = { + fn: attrValidation + }; + } + _.each(_.without(_.keys(attrValidation), 'msg'), function(validator) { memo.push({ fn: defaultValidators[validator], @@ -715,4 +716,4 @@ return Validation; }(_)); return Backbone.Validation; -})); \ No newline at end of file +}));