$data.setFilter¶
Description¶
Définit ou modifie le filtre d'un groupe.
La méthode joue globalement le même rôle que la fonction de filtre associée à l'action `arrange'.
Syntaxe¶
$data.set( context , filter [ , options ] )
Paramètres¶
contextstring / map- Expression de contexte permettant d'identifier le groupe de destination
valueany- Règle de filtre
optionsmap-
Map d'options relatives à la modification de champ. Les options reconnues sont:
forceboolean- Flag permettant de forcer la mise à jour d'une règle d'arrangement
non personnalisable, c'est-à-dire lorsque l'élément
<arrangement>du groupe est défini aveccustomizable="false". ignorePoliciesboolean-
Flag indiquant de ne pas tenir compte des policies lors du traitement.
Par défaut, les policies sont vérifiées si l'application gère des policies et si le thread courant est un thread "client", c'est-à-dire un thread initié par une requête du client (en réalité l'usage de cette méthode en-dehors d'un thread "client" ne fait pas vraiment sens).
notifyboolean- Flag
true/falseindiquant si le moteur doit déclencher la notificationdoc-arrange. Par défaut le flag estfalse. notificationParamsmap-
Paramètres supplémentaires à passer lors de la notification
doc-arrange. N'est pris en compte que lorsquenotifyesttrue.Le paramètre attendu est un map de clés-valeurs. Les clés
modelName,docIdetgroupNamesont réservées et renseignées automatiquement par la méthode.Le fait de spécifier des paramètres de notification active automatiquement l'option
notify(pour autant qu'elle ne soit pas explicitement définie àfalse).
Retour¶
Retourne true si la mise à jour a réussi, sinon false
Exemple¶
Exemple simple de mise à jour d'un champ.
Illustration du comportement lorsque l'on tente d'inscrire une valeur inappropriée. Dans l'exemple ci-dessous, le champ "code" attend une valeur textuelle de 5 caractères max, mais nous allons tenter de lui passe une valeur plus longue.
Contexte
L'exemple part du principe que le contexte courant est celui du dossier contenant le champ, raison pour laquelle l'expression de contexte qui désigne le champ ne comporte pas d'élément relatif au modèle et au groupe.
L'expression #code retourne null car la valeur n'est pas adaptée au
champ et ne peut pas y être stockée. Toutefois, la valeur "abcdefghijkl"
n'est pas simplement ignorée. Elle est placée dans un buffer en mémoire et
affichée à l'écran en indiquant qu'elle doit être corrigée. Ici le moteur
applique une mécanique qui est également en place pour les valeurs provenant
d'un formulaire HTML : une valeur inadaptée n'est pas simplement ignorée.
Elle est certes non enregistrée en base de données (cela provoquerait une
erreur SQL ou un troncage de valeur), mais elle reste présente en mémoire
pour permettre à l'utilisateur de la corriger.
Il est possible de passer outre le contrôle de validité de la valeur au
moyen de l'option ignoreValidation.