summaryrefslogtreecommitdiffstats
path: root/install/ui/widget.js
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2011-08-24 15:36:48 +0200
committerEndi S. Dewata <edewata@redhat.com>2011-08-25 00:50:52 +0000
commit950a5da34d3b89ae23cf8834d501233bda831f9e (patch)
tree4531eaffb80d6573e28b48c1a29cfd7c8a9b8b62 /install/ui/widget.js
parente5382885f589c45c96ba0ba04c89bdb1f1546ce5 (diff)
downloadfreeipa-950a5da34d3b89ae23cf8834d501233bda831f9e.tar.gz
freeipa-950a5da34d3b89ae23cf8834d501233bda831f9e.tar.xz
freeipa-950a5da34d3b89ae23cf8834d501233bda831f9e.zip
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.
Diffstat (limited to 'install/ui/widget.js')
-rw-r--r--install/ui/widget.js12
1 files changed, 7 insertions, 5 deletions
diff --git a/install/ui/widget.js b/install/ui/widget.js
index f88bba5c2..6ae6f5dfb 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];