summaryrefslogtreecommitdiffstats
path: root/install/ui/src
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2015-05-14 13:29:24 +0200
committerPetr Vobornik <pvoborni@redhat.com>2015-05-20 14:04:10 +0200
commit17aafc36b4c94cffa8427c8f4b2aef2292bba40d (patch)
tree523cbd070109bc1b548b446f592713709bf3feb1 /install/ui/src
parent6a2b486e500b62abe7ef14e4f34c945726f3256b (diff)
downloadfreeipa-17aafc36b4c94cffa8427c8f4b2aef2292bba40d.tar.gz
freeipa-17aafc36b4c94cffa8427c8f4b2aef2292bba40d.tar.xz
freeipa-17aafc36b4c94cffa8427c8f4b2aef2292bba40d.zip
webui: metadata validator min and max value overrides
Reviewed-By: David Kupka <dkupka@redhat.com> Reviewed-By: Thierry Bordaz <tbordaz@redhat.com>
Diffstat (limited to 'install/ui/src')
-rw-r--r--install/ui/src/freeipa/field.js30
1 files changed, 28 insertions, 2 deletions
diff --git a/install/ui/src/freeipa/field.js b/install/ui/src/freeipa/field.js
index c2609c564..776811430 100644
--- a/install/ui/src/freeipa/field.js
+++ b/install/ui/src/freeipa/field.js
@@ -237,6 +237,18 @@ field.field = IPA.field = function(spec) {
that.metadata = spec.metadata;
/**
+ * Override of metadata.minvalue
+ * @property {number}
+ */
+ that.minvalue = spec.minvalue;
+
+ /**
+ * Override of metadata.maxvalue
+ * @property {number}
+ */
+ that.maxvalue = spec.maxvalue;
+
+ /**
* Validators
* @property {Array.<IPA.validator>}
*/
@@ -955,6 +967,16 @@ field.metadata_validator = IPA.metadata_validator = function(spec) {
var that = IPA.validator(spec);
+ that.get_property = function(name, obj, metadata) {
+ var prop = null;
+ if (IPA.defined(obj[name], true)) {
+ prop = obj[name];
+ } else if (IPA.defined(metadata[name], true)) {
+ prop = metadata[name];
+ }
+ return prop;
+ };
+
/**
* @inheritDoc
*/
@@ -980,13 +1002,17 @@ field.metadata_validator = IPA.metadata_validator = function(spec) {
if (number) {
- if (IPA.defined(metadata.minvalue, true) && Number(value) < Number(metadata.minvalue)) {
+ var numVal = Number(value);
+ var minvalue = that.get_property('minvalue', context, metadata);
+ var maxvalue = that.get_property('maxvalue', context, metadata);
+
+ if (IPA.defined(minvalue) && numVal < Number(minvalue)) {
message = text.get('@i18n:widget.validation.min_value');
message = message.replace('${value}', metadata.minvalue);
return that.false_result(message);
}
- if (IPA.defined(metadata.maxvalue, true) && Number(value) > Number(metadata.maxvalue)) {
+ if (IPA.defined(maxvalue) && numVal > Number(maxvalue)) {
message = text.get('@i18n:widget.validation.max_value');
message = message.replace('${value}', metadata.maxvalue);
return that.false_result(message);