rougail/doc/check/function.md

49 lines
1.5 KiB
Markdown
Raw Normal View History

2021-02-15 15:17:23 +01:00
# Fonction de vérification
2021-02-10 08:19:33 +01:00
2021-02-15 15:17:23 +01:00
## Vérification stricte des valeurs
2021-02-10 08:19:33 +01:00
2021-02-15 15:17:23 +01:00
Une fonction de vérification est une fonction complémentaire au type qui permet de valider plus précisement le contenu d'une variable.
Voici un exemple simple de validation des valeurs :
2021-02-10 08:19:33 +01:00
2022-11-03 22:17:43 +01:00
```yml
2023-10-12 08:17:30 +02:00
---
version: '1.0'
my_variable:
validators:
- type: jinja
jinja: |+
{% if rougail.my_variable and not rougail.my_variable.islower() %}
{{ rougail.my_variable }} is not lowercase string
{% endif %}
2021-02-10 08:19:33 +01:00
```
2021-02-15 15:17:23 +01:00
Une fonction de vérification doit prendre en compte 2 aspects important :
2021-02-10 08:19:33 +01:00
2021-02-15 15:17:23 +01:00
- la valeur peut ne pas être renseigné (même si la variable est obligatoire), la valeur None doit être prise en compte
2023-10-12 08:17:30 +02:00
- si la valeur est invalide, il faut renvoyer une phrase avec un message explicite.
2021-02-10 08:19:33 +01:00
2021-02-15 15:17:23 +01:00
À partir de maintenant seule None et des valeurs en minuscule seront autorisés.
2021-02-10 08:19:33 +01:00
2021-02-16 10:22:29 +01:00
Il est possible de définir des [paramètres](../param/README.md) à cette fonction.
2021-02-15 15:17:23 +01:00
## Vérification des valeurs avec avertissement
2021-02-10 08:19:33 +01:00
2021-02-15 15:17:23 +01:00
Dans la contrainte, il est possible de spécifier le niveau d'erreur et le mettre en avertissement :
2021-02-10 08:19:33 +01:00
2022-11-03 22:17:43 +01:00
```yml
2023-10-12 08:17:30 +02:00
---
version: '1.0'
my_variable:
validators:
- type: jinja
jinja: |+
{% if rougail.my_variable and not rougail.my_variable.islower() %}
{{ rougail.my_variable }} is not lowercase string
{% endif %}
params:
warning: true
2022-11-02 22:52:50 +01:00
```
2021-02-15 15:17:23 +01:00
Dans ce cas une valeur avec une majuscule sera accepté, mais un message d'avertissement apparaitra.