summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--share/www/script/futon.browse.js12
-rw-r--r--share/www/script/jquery.editinline.js2
2 files changed, 12 insertions, 2 deletions
diff --git a/share/www/script/futon.browse.js b/share/www/script/futon.browse.js
index e9a6ff98..538a747b 100644
--- a/share/www/script/futon.browse.js
+++ b/share/www/script/futon.browse.js
@@ -885,6 +885,15 @@
if (keyCode == 9) { // tab, move to editing the value
row.find("td").dblclick();
}
+ },
+ validate: function(newName, oldName) {
+ $("div.error", this).remove();
+ if (newName != oldName && doc[newName] !== undefined) {
+ $("<div class='error'>Already have field with that name.</div>")
+ .appendTo(this);
+ return false;
+ }
+ return true;
}
});
}
@@ -918,12 +927,13 @@
return $.futon.formatJSON(doc[row.data("name")]);
},
validate: function(value) {
+ $("div.error", this).remove();
try {
JSON.parse(value);
return true;
} catch (err) {
var msg = err.message;
- if (msg == "parseJSON") {
+ if (msg == "parseJSON" || msg == "JSON.parse") {
msg = "Please enter a valid JSON value (for example, \"string\").";
}
$("<div class='error'></div>").text(msg).appendTo(this);
diff --git a/share/www/script/jquery.editinline.js b/share/www/script/jquery.editinline.js
index e3a33155..e677b982 100644
--- a/share/www/script/jquery.editinline.js
+++ b/share/www/script/jquery.editinline.js
@@ -50,7 +50,7 @@
return true;
}
if ((!options.allowEmpty && !newText.length) ||
- !options.validate.apply(elem, [newText])) {
+ !options.validate.apply(elem, [newText, origText])) {
input.addClass("invalid");
return false;
}