diff options
-rw-r--r-- | horizon/static/framework/widgets/metadata/tree/metadata-tree-item.html | 2 | ||||
-rw-r--r-- | horizon/static/framework/widgets/metadata/tree/tree.service.js | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/horizon/static/framework/widgets/metadata/tree/metadata-tree-item.html b/horizon/static/framework/widgets/metadata/tree/metadata-tree-item.html index 6a30a2125..9f278aa39 100644 --- a/horizon/static/framework/widgets/metadata/tree/metadata-tree-item.html +++ b/horizon/static/framework/widgets/metadata/tree/metadata-tree-item.html @@ -13,7 +13,7 @@ type="text" class="form-control" ng-pattern="ctrl.item.leaf.pattern" - required + ng-required="ctrl.item.leaf.required" ng-model="ctrl.item.leaf.value" ng-minlength="{$ ::ctrl.item.leaf.minLength $}" ng-maxlength="{$ ::ctrl.item.leaf.maxLength $}" diff --git a/horizon/static/framework/widgets/metadata/tree/tree.service.js b/horizon/static/framework/widgets/metadata/tree/tree.service.js index c4d86d87e..1256985f5 100644 --- a/horizon/static/framework/widgets/metadata/tree/tree.service.js +++ b/horizon/static/framework/widgets/metadata/tree/tree.service.js @@ -56,6 +56,7 @@ this.default = null; this.type = 'string'; this.readonly = false; + this.required = true; this.operators = ['<in>']; angular.extend(this, json); this.operator = this.operators[0]; @@ -73,6 +74,11 @@ return; } + // if the existing property has empty string value, make the field not required + if (value === '') { + this.required = false; + } + switch (this.type) { case 'integer': this.value = parseInt(value, 10); |