diff --git a/doc/README.md b/doc/README.md index 293f91b9..30b7b505 100644 --- a/doc/README.md +++ b/doc/README.md @@ -19,6 +19,8 @@ Les familles et les variables peuvent être défini dans plusieurs dictionnaires Il est également possible de redéfinir des éléments pour changer les comportement d'une variable ou d'un service. +FIXME expliquer les noms des variables dans les extras + ### Les variables - [Les familles](family/README.md) @@ -36,6 +38,7 @@ Il est également possible de redéfinir des éléments pour changer les comport - [Les calcules automatiques](fill/README.md) - [Les vérifications des valeurs](check/README.md) - [Les conditions](condition/README.md) + - [Les variables meneuses ou suiveuses](variable/leadership.md) ## Les templates diff --git a/doc/check/README.md b/doc/check/README.md index 64ca66d3..6dd671bd 100644 --- a/doc/check/README.md +++ b/doc/check/README.md @@ -1,10 +1,4 @@ # Les vérifications des valeurs - [Fonction de vérification](function.md) - - [Cible de la fonction](../target/variable.md) - - [Paramètre de la fonction](../param/README.md) - [Réfinition](redefine.md) - -FIXME - - diff --git a/doc/check/function.md b/doc/check/function.md index 3f618490..f293f633 100644 --- a/doc/check/function.md +++ b/doc/check/function.md @@ -1,124 +1,53 @@ -# Valeur calculée de la variable +# Fonction de vérification -## Variable avec une valeur par défaut calculée +## Vérification stricte des valeurs -Créons une variable dont la valeur est retournée par la fonction "return_no" : +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 : ``` - - - + - - my_calculated_variable - + + my_variable + ``` -Puis créons la fonction "return_no" : +La [cible (de type variable)](../target/variable.md) de la fonction de vérification est ici "my_variable". + +Dans cette exemple, la valeur de la variable "my_variable" va être validé par la fonction islower. + +Voici le contenu de la fonction : ``` -def return_no(): - return 'no' +def islower(value): + if value is None: + return + if not value.islower(): + raise ValueError(f'"{value}" is not lowercase string') ``` -La [cible](../target/variable.md) du calcul est ici "my_calculated_variable". +Une fonction de vérification doit prendre en compte 2 aspects important : -Dans ce cas, la valeur par défaut est la valeur retournée par la fonction (ici "no"), elle sera calculée tant que l'utilisateur n'a pas de spécifié une valeur à cette variable. +- la valeur peut ne pas être renseigné (même si la variable est obligatoire), la valeur None doit être prise en compte +- si la valeur est invalide, il faut faire un raise de type ValueError avec, si possible, un message explicite. -Attention, si une valeur par défaut est définit dans la variable "my_calculated_variable" : +À partir de maintenant seule None et des valeurs en minuscule seront autorisés. + +## Vérification des valeurs avec avertissement + +Dans la contrainte, il est possible de spécifier le niveau d'erreur et le mettre en avertissement : ``` - - yes - + + my_variable + ``` -Cette valeur par défaut sera complètement ignorée. C'est le calcul qui en définira la valeur. + +Dans ce cas une valeur avec une majuscule sera accepté, mais un message d'avertissement apparaitra. Il est possible de définir des [paramètres](../param/README.md) à cette fonction. - -## Variable avec une valeur calculée - -En ajoutant le paramètre "hidden" à "True" dans la variable précédente, l'utilisateur n'aura plus la possibilité de modifié la valeur. La valeur de la variable sera donc systématiquement calculée : - -``` -