LSformRule::integer : Added min and max parameters.

This commit is contained in:
Benjamin Renard 2012-09-04 12:05:48 +02:00
parent 5b7bce554d
commit 03c543f842
2 changed files with 21 additions and 1 deletions

View 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>
@ -20,6 +21,19 @@
</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>

View 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]*$/';
}