Fixed bug preventing the user from ignoring a non-required multi-select survey question on launch

This commit is contained in:
mabashian
2018-03-21 14:55:38 -04:00
parent b3e15f70cb
commit 0cadea1cb5

View File

@@ -1252,26 +1252,27 @@ function(ConfigurationUtils, i18n, $rootScope) {
require: 'ngModel', require: 'ngModel',
link: function postLink(scope, element, attrs, ngModel) { link: function postLink(scope, element, attrs, ngModel) {
// Watch for changes to the required attribute // Watch for changes to the required attribute
attrs.$observe('required', function(value) { attrs.$observe('required', function() {
if(value) { ngModel.$validate();
ngModel.$validators.required = function (value) { });
if(angular.isArray(value)) {
if(value.length === 0) { ngModel.$validators.required = function (value) {
return false; if(attrs.required) {
} if(angular.isArray(value)) {
else { if(value.length === 0) {
return (!value[0] || value[0] === "") ? false : true; return false;
}
} }
else { else {
return (!value || value === "") ? false : true; return (!value[0] || value[0] === "") ? false : true;
} }
}; }
else {
return (!value || value === "") ? false : true;
}
} else {
return true;
} }
else { };
delete ngModel.$validators.required;
}
});
} }
}; };
}]); }]);