From 950a5da34d3b89ae23cf8834d501233bda831f9e Mon Sep 17 00:00:00 2001 From: Petr Vobornik Date: Wed, 24 Aug 2011 15:36:48 +0200 Subject: Validation of details facet before update https://fedorahosted.org/freeipa/ticket/1676 The ticket is a duplicate of server error, but it revealed few UI errors. Newly performs validation of details facet before update. If validation fails, notification dialog is shown and command isn't executed. Fixed integer minimum and maximum value checking. Read-only and non-writable fields are no longer considered required. --- install/ui/widget.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'install/ui/widget.js') diff --git a/install/ui/widget.js b/install/ui/widget.js index f88bba5c..6ae6f5df 100644 --- a/install/ui/widget.js +++ b/install/ui/widget.js @@ -89,7 +89,7 @@ IPA.widget = function(spec) { return; } - if (meta.minvalue && value < meta.minvalue) { + if (meta.minvalue !== undefined && value < meta.minvalue) { that.valid = false; message = IPA.messages.widget.validation.min_value; message = message.replace('${value}', meta.minvalue); @@ -97,7 +97,7 @@ IPA.widget = function(spec) { return; } - if (meta.maxvalue && value > meta.maxvalue) { + if (meta.maxvalue !== undefined && value > meta.maxvalue) { that.valid = false; message = IPA.messages.widget.validation.max_value; message = message.replace('${value}', meta.maxvalue); @@ -131,7 +131,9 @@ IPA.widget = function(spec) { if (!values || !values.length || values[0] === '' ) { if (that.param_info && that.param_info.required && - !that.optional) { + !that.optional && + !that.read_only && + that.writable) { that.valid = false; that.show_error(IPA.messages.widget.validation.required); return false; @@ -148,10 +150,10 @@ IPA.widget = function(spec) { that.valid = true; var values = that.save(); - if (!values){ + if (!values) { return; } - if (values.length ===0 ){ + if (values.length === 0) { return; } var value = values[0]; -- cgit