LSformRule::integer : Added min and max parameters.
authorBenjamin Renard <brenard@easter-eggs.com>
Tue, 4 Sep 2012 10:05:48 +0000 (12:05 +0200)
committerBenjamin Renard <brenard@easter-eggs.com>
Tue, 4 Sep 2012 10:05:48 +0000 (12:05 +0200)
doc/conf/LSattribute/check_data/integer.docbook
public_html/includes/class/class.LSformRule_integer.php

index 8db46bb..135468a 100644 (file)
@@ -1,7 +1,8 @@
 <sect4 id="config-LSattribute-check-data-integer">
   <title>integer</title>
   <para>Cette règle vérifie que la valeur saisie est un entier. Les paramètres 
-  permettent de spécifier éventuellement si la valeur doit être positive ou négative.</para>
+  permettent de spécifier éventuellement si la valeur doit être positive ou négative
+  et également de borner les valeurs valides.</para>
   
 <variablelist>
 <title>Paramêtres de configuration</title>
   </listitem>
 </varlistentry>
 
+<varlistentry>
+  <term>min</term>
+  <listitem>
+    <simpara>Valeur minimale (supérieur ou égale).</simpara>
+  </listitem>
+</varlistentry>
+
+<varlistentry>
+  <term>max</term>
+  <listitem>
+    <simpara>Valeur maximale (inférieur ou égale).</simpara>
+  </listitem>
+</varlistentry>
 </variablelist>
 
 </sect4>
index 1ce0ac3..5ea9752 100644 (file)
@@ -37,6 +37,12 @@ class LSformRule_integer extends LSformRule{
    * @return boolean true if the value is valided, false otherwise
    */
   function validate ($value,$options=array(),$formElement) {
+    if($options['params']['max'] && $value > $options['params']['max']) {
+      return;
+    }
+    if($options['params']['min'] && $value < $options['params']['min']) {
+      return;
+    }
     if($options['params']['negative']) {
       $regex = '/^-[0-9]*$/';
     }