[SPIP Zone] Saisies r115892 : changement sur info_obligatoire

Salut Maieul,

Dans https://zone.spip.org/trac/spip-zone/changeset/115892/spip-zone, tu as modifié le |is_null pour |trim ce qui me parait embêtant.

Je l’utilisais avec `info_obligatoire=""` en option, pour ne pas avoir du tout d’affichage du terme "(Obligatoire)" (ni rien d’autre donc à la place), et du coup, cela ne fonctionne plus, et il n’y a pas de moyen alternatif d’obtenir ce comportement. (Ie : pour mettre en tête de formulaire "Tous les champs sont obligatoires, sans ré-indication ultérieure champ par champ).

Comment qu’on peut faire du coup ?

MM.

Le 04/11/2019 à 11:23, Matthieu Marcillaud a écrit :

Salut Maieul,

Dans https://zone.spip.org/trac/spip-zone/changeset/115892/spip-zone, tu as modifié le |is_null pour |trim ce qui me parait embêtant.

Je l’utilisais avec `info_obligatoire=""` en option, pour ne pas avoir du tout d’affichage du terme "(Obligatoire)" (ni rien d’autre donc à la place), et du coup, cela ne fonctionne plus, et il n’y a pas de moyen alternatif d’obtenir ce comportement. (Ie : pour mettre en tête de formulaire "Tous les champs sont obligatoires, sans ré-indication ultérieure champ par champ).

Comment qu’on peut faire du coup ?

MM.
----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

arf, effectivement je n'avais pas penser à cela. Moi j'ai eu le contraire: des gens qui ont cru mettre une chaine vide, mais qui en fait on mis une chaine avec des espaces.

A mon avis le compromis serait de mettre is_empty et de se dire que les gens qui mettent des espaces ont qu'a vidé la chaine. Ca répondrait tout du moins à mon problème.

Le 04/11/2019 à 12:11, Maïeul a écrit :

Le 04/11/2019 à 11:23, Matthieu Marcillaud a écrit :

Je l’utilisais avec `info_obligatoire=""` en option, pour ne pas avoir

arf, effectivement je n'avais pas penser à cela. Moi j'ai eu le contraire: des gens qui ont cru mettre une chaine vide, mais qui en fait on mis une chaine avec des espaces.

A mon avis le compromis serait de mettre is_empty et de se dire que les gens qui mettent des espaces ont qu'a vidé la chaine. Ca répondrait tout du moins à mon problème.

Je ne sais pas si les 2 usages sont compatibles. Dans formidable, si tu laisses vide, je suppose à ce que tu t’attendes à la valeur par défaut (ie: afficher Obligatoire), non ? Mais ça stocke un texte vide.
Du coup, dans ce cas : texte vide = afficher la valeur par défaut.

Or avant, avec le |is_null : texte vide = ne rien afficher.

Je ne suis pas sûr qu’on puisse concilier les deux, sans une nouvelle option par exemple.

MM.

On peut faire :

texte vide -> texte par défaut
que des espaces -> rien
texte pas vide -> le texte pas vide

Ou alors en effet il faut ajouter une nouvelle option vide_est_null qui serait utilisée par formidable, ce qui du coup ne casserait pas la compat ascendate pour les utilisateurs de saisies

--
Cédric
Le 4 nov. 2019 à 12:59 +0100, Matthieu Marcillaud <marcimat@rezo.net>, a écrit :

Le 04/11/2019 à 12:11, Maïeul a écrit :
> Le 04/11/2019 à 11:23, Matthieu Marcillaud a écrit :

> > Je l’utilisais avec `info_obligatoire=""` en option, pour ne pas avoir

> arf, effectivement je n'avais pas penser à cela. Moi j'ai eu le
> contraire: des gens qui ont cru mettre une chaine vide, mais qui en fait
> on mis une chaine avec des espaces.
>
> A mon avis le compromis serait de mettre is_empty et de se dire que les
> gens qui mettent des espaces ont qu'a vidé la chaine. Ca répondrait tout
> du moins à mon problème.

Je ne sais pas si les 2 usages sont compatibles. Dans formidable, si tu
laisses vide, je suppose à ce que tu t’attendes à la valeur par défaut
(ie: afficher Obligatoire), non ? Mais ça stocke un texte vide.
Du coup, dans ce cas : texte vide = afficher la valeur par défaut.

Or avant, avec le |is_null : texte vide = ne rien afficher.

Je ne suis pas sûr qu’on puisse concilier les deux, sans une nouvelle
option par exemple.

MM.
----
spip-zone@rezo.net - https://listes.rezo.net/mailman/listinfo/spip-zone

Le 04/11/2019 à 14:38, Cerdic a écrit :

On peut faire :

texte vide -> texte par défaut
que des espaces -> rien
texte pas vide -> le texte pas vide

Ou alors en effet il faut ajouter une nouvelle option vide_est_null qui serait utilisée par formidable, ce qui du coup ne casserait pas la compat ascendate pour les utilisateurs de saisies

Il s’avère que c’est finalement un peu plus simple que ça (un bon revert), parce que Formidable (enfin le contructeur de formulaires de saisies) ne stocke déjà pas les chaines vides "" (il considère alors l’option nulle, et ne stocke ni la clé ni la valeur).

On a donc

- null => par défaut (obligatoire)

- texte vide => rien

- texte pas vide > le texte pas vide

Le point moins évident est qu’il est impossible depuis Formidable de dire "je veux pas de texte là" sauf à mettre des espaces… ce qui est pas forcément génial quand même.

MM.