summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--horizon/static/framework/widgets/metadata/tree/metadata-tree-item.html2
-rw-r--r--horizon/static/framework/widgets/metadata/tree/tree.service.js6
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);