From 313cfe8e3372216c29300687cd89ca8db3029bc2 Mon Sep 17 00:00:00 2001 From: Jack Lukic Date: Sun, 1 May 2016 14:04:29 -0400 Subject: [PATCH] Adds first pass depends field #3529 --- src/definitions/behaviors/form.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/definitions/behaviors/form.js b/src/definitions/behaviors/form.js index 7cc653ef1..c0c18d33b 100644 --- a/src/definitions/behaviors/form.js +++ b/src/definitions/behaviors/form.js @@ -801,8 +801,11 @@ $.fn.form = function(parameters) { // takes a validation object and returns whether field passes validation field: function(field, fieldName) { var - identifier = field.identifier || fieldName, - $field = module.get.field(identifier), + identifier = field.identifier || fieldName, + $field = module.get.field(identifier), + $dependsField = (field.depends) + ? module.get.field(field.depends) + : false, fieldValid = true, fieldErrors = [] ; @@ -818,6 +821,10 @@ $.fn.form = function(parameters) { module.debug('Field is optional and empty. Skipping', identifier); fieldValid = true; } + else if(field.depends && $dependsField.length === 0 || $dependsField.val() === '') { + module.debug('Field depends on another value that is not present or empty. Skipping', $dependsField); + fieldValid = true; + } else if(field.rules !== undefined) { $.each(field.rules, function(index, rule) { if( module.has.field(identifier) && !( module.validate.rule(field, rule) ) ) {