[interchange] Add numeric ordercheck

Jon Jensen interchange-cvs at icdevgroup.org
Thu Mar 25 15:41:09 UTC 2010


commit 528ff5442ed28dc74a665f81e43d132a072c15b7
Author: Jon Jensen <jon at endpoint.com>
Date:   Thu Mar 25 09:36:54 2010 -0600

    Add numeric ordercheck
    
    Allowed:
    1
    0.5
    -1
    -1.0
    -1.0000
    -0.5
    
    Disallowed:
    1.
    .1
    1.1.1
    +1
    1,0
    
    Thanks to Ton Verhagen for making it happen.

 MANIFEST                   |    1 +
 code/OrderCheck/numeric.oc |   21 +++++++++++++++++++++
 2 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/MANIFEST b/MANIFEST
index 08312e8..9ec3966 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -101,6 +101,7 @@ code/OrderCheck/isbn.oc
 code/OrderCheck/length.oc
 code/OrderCheck/match.oc
 code/OrderCheck/natural.oc
+code/OrderCheck/numeric.oc
 code/OrderCheck/regex.oc
 code/OrderCheck/relative_filename.oc
 code/OrderCheck/unique.oc
diff --git a/code/OrderCheck/numeric.oc b/code/OrderCheck/numeric.oc
new file mode 100644
index 0000000..4267c4b
--- /dev/null
+++ b/code/OrderCheck/numeric.oc
@@ -0,0 +1,21 @@
+# Copyright 2010 Interchange Development Group and others
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version. See the LICENSE file for details.
+
+CodeDef numeric OrderCheck
+CodeDef numeric Description Numeric
+CodeDef numeric Routine <<EOR
+sub {
+    my ($ref, $name, $value, $msg) = @_;
+
+    if (defined($value) and $value =~ /\A-?\d+(\.\d+)?\z/) {
+        return (1, $name, '');
+    }
+    else {
+        return (0, $name, defined($msg) ? $msg : 'not numeric');
+    }
+}
+EOR



More information about the interchange-cvs mailing list