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.
|