diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-09-16 14:53:56 +0300 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-09-16 14:53:56 +0300 |
commit | 15e6b65310f1ca84ae0ba6320067bdb7216ebb54 (patch) | |
tree | 2bd1bbc4e09c536c07dc6b941c3f921b70c60a2a /web | |
parent | 6869b61309e3f2d6a66abf5175eea8ea56cc785d (diff) | |
download | aconf-15e6b65310f1ca84ae0ba6320067bdb7216ebb54.tar.bz2 aconf-15e6b65310f1ca84ae0ba6320067bdb7216ebb54.tar.xz |
web client: mark originally empty field valid when erroneous value cleared
Diffstat (limited to 'web')
-rw-r--r-- | web/client.js | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/web/client.js b/web/client.js index c856788..8722899 100644 --- a/web/client.js +++ b/web/client.js @@ -131,6 +131,26 @@ $(function() { var tn = _.isObject(newValue); var npv = tn ? mpath : newValue; + function resolve() { + if (mpath in invalid && + invalid[mpath][1] == def) { + + var del = invalid[mpath][0] == null; + delete invalid[mpath]; + + if (del) + _.each( + _.keys(invalid), + function(p) { + if (isRealSubordinate(p, mpath)) + delete invalid[p]; + } + ); + } + + def.resolve(isValid()); + } + function validate() { var options; if (newValue != null) @@ -147,7 +167,7 @@ $(function() { data.meta.fields, {name: name} ).required) def.reject("Required value not set"); - else def.resolve(); + else resolve(); return; } @@ -169,27 +189,6 @@ $(function() { ); } - function resolve() { - if (mpath in invalid && - invalid[mpath][1] == def) { - - var del = invalid[mpath][0] == null; - delete invalid[mpath]; - - if (del) - _.each( - _.keys(invalid), - function(p) { - if (isRealSubordinate( - p, mpath - )) delete invalid[p]; - } - ); - } - - def.resolve(isValid()); - } - if (tn) query(mpath).done(function(data) { if (mpath in invalid && data.meta.type == "model") |