Module: check_mk
Branch: master
Commit: 67a7d0698b41ef300de8c484776216fba3722e34
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=67a7d0698b41ef…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Fri Jan 27 21:31:49 2012 +0100
forms: add validation function
---
web/htdocs/forms.py | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/web/htdocs/forms.py b/web/htdocs/forms.py
index 9df5239..6c76846 100644
--- a/web/htdocs/forms.py
+++ b/web/htdocs/forms.py
@@ -27,7 +27,7 @@
from lib import *
-def edit_dictionary(entries, value, focus=None, hover_help=True):
+def edit_dictionary(entries, value, focus=None, hover_help=True, validate=None):
new_value = value.copy()
if html.var("filled_in") == "form" and html.check_transaction():
messages = []
@@ -39,6 +39,14 @@ def edit_dictionary(entries, value, focus=None, hover_help=True):
except MKUserError, e:
messages.append(u"%s: %s" % (vs.title(), e.message))
html.add_user_error(e.varname, e.message)
+
+ if validate:
+ try:
+ validate(new_value)
+ except MKUserError, e:
+ messages.append(e.message)
+ html.add_user_error(e.varname, e.message)
+
if messages:
html.show_error("".join(["%s<br>\n" % m for m in
messages]))
else: