mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-22 18:09:06 +01:00
LSformRule::inarray: add reverse parameter
This commit is contained in:
parent
fe1181b531
commit
bbf40090a9
2 changed files with 24 additions and 11 deletions
|
@ -1,7 +1,7 @@
|
||||||
<sect4 id="config-LSattribute-check-data-inarray">
|
<sect4 id="config-LSattribute-check-data-inarray">
|
||||||
<title>inarray</title>
|
<title>inarray</title>
|
||||||
<para>Cette règle vérifie que la valeur saisie fait partie d'une liste de valeurs
|
<para>Cette règle vérifie que la valeur saisie fait partie d'une liste de valeurs
|
||||||
autorisées.</para>
|
autorisées (ou interdites).</para>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<title>Paramêtres de configuration</title>
|
<title>Paramêtres de configuration</title>
|
||||||
|
@ -13,6 +13,15 @@
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>reverse</term>
|
||||||
|
<listitem>
|
||||||
|
<simpara>Booléen permettant d'inverser la logique de validation : si <literal>reverse</literal>
|
||||||
|
est vrai, la valeur testée sera acceptée si elle ne fait pas partie des valeurs possibles
|
||||||
|
(Paramètre facultatif, par défaut : <literal>faux</literal>).</simpara>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
</sect4>
|
</sect4>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Règle de validation à partir d'une liste de valeur possible
|
* LSform check rule from a list of possible values
|
||||||
*
|
*
|
||||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||||
*/
|
*/
|
||||||
|
@ -30,27 +30,31 @@ class LSformRule_inarray extends LSformRule {
|
||||||
// CLI parameters autocompleters
|
// CLI parameters autocompleters
|
||||||
protected static $cli_params_autocompleters = array(
|
protected static $cli_params_autocompleters = array(
|
||||||
'possible_values' => null,
|
'possible_values' => null,
|
||||||
|
'reverse' => array('LScli', 'autocomplete_bool'),
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Vérification de la valeur.
|
* Check the value in configured list
|
||||||
*
|
*
|
||||||
* @param string $values Valeur à vérifier
|
* @param string $values The value to check
|
||||||
* @param array $options Options de validation :
|
* @param array $options Check options:
|
||||||
* - Regex : $option['params']['possible_values'] ou $option
|
* - possible_values: the list of valid values (required)
|
||||||
* @param object $formElement L'objet formElement attaché
|
* - reverse: if true, reverse the logic of the check
|
||||||
|
* (list values are prohibited, optional, default: False)
|
||||||
|
* @param object $formElement The linked LSformElement object
|
||||||
*
|
*
|
||||||
* @return boolean true si la valeur est valide, false sinon
|
* @return boolean true if the value is valid, false otherwise
|
||||||
*/
|
*/
|
||||||
public static function validate($value, $options=array(), &$formElement) {
|
public static function validate($value, $options=array(), &$formElement) {
|
||||||
$possible_values = LSconfig :: get('params.possible_values', null, null, $options);
|
$possible_values = LSconfig :: get('params.possible_values', null, null, $options);
|
||||||
|
$reverse = LSconfig :: get('params.reverse', false, 'bool', $options);
|
||||||
if (!is_array($possible_values)) {
|
if (!is_array($possible_values)) {
|
||||||
LSerror :: addErrorCode('LSformRule_inarray_01');
|
LSerror :: addErrorCode('LSformRule_inarray_01');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!in_array($value, $possible_values))
|
if (!in_array($value, $possible_values))
|
||||||
return false;
|
return $reverse;
|
||||||
return true;
|
return !$reverse;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue