iro/validate.py
branchdevel
changeset 136 ca926774e16c
parent 130 05e599aa83c3
child 137 e0073c462563
--- a/iro/validate.py	Tue Feb 07 01:56:59 2012 +0100
+++ b/iro/validate.py	Wed Feb 08 14:19:09 2012 +0100
@@ -19,6 +19,26 @@
         raise ValidateException(field=field, msg='%s is not boolean' % field)
 
 
+def vInteger(value, field, minv=None, maxv=None, none_allowed=False):
+
+    if none_allowed and value in [None,'']:
+        return None
+
+    try:
+        ret = int(value)
+    except ValueError:
+        raise ValidateException(field=field)
+    except TypeError:
+        raise ValidateException(field=field)
+
+    if minv and ret < minv:
+        raise ValidateException(field=field)
+
+    if maxv and ret > maxv:
+        raise ValidateException(field=field)
+
+    return ret
+
 def vHash(value,field,minlength=None,maxlength=None):
     '''Validator for hash values'''
     if not re.match(r'^[a-f0-9]*$', value.lower()):