Nous avons un champ décimal qui représente un pourcentage. Nous lui avons donc mis le type de validation « Percent ». En V4 cela ne pose pas de pb, en revanche en V5, nous avons l’erreur suivante :
Cette erreur disparaisse si je passe le champ en entier. Est-ce normal ?
De mémoire, un rendering pourcentage est géré comme suit :
si le champ est décimal, il doit être compris entre 0 et 1 (donc 5 c’est 500%, 0.5 c’est 50%)
si le champ est entier, il est entre 0 et 100, c’est la valeur du pourcentage directement
L’input contient l’entier ou le décimal “brut”, et la valeur rendue en pourcentage s’affiche à côté de l’input.
Votre copie d’écran ne semble pas être un rendering natif, mais un champ texte avec une regexp (qui ne comprend pas votre décimale). Vous utilisez quelle regexp ?
Vous pouvez avoir un champ décimal (c’est mieux qu’un texte) sans rendering ni regexp et gérer la plage de valeurs possibles dans le validate.
La regexp PRCENT est ^[0-9]$|^[0-9][0-9]$|100 si vous regardez dans Admin/Field type
donc est valide sur une valeur entière qui ne déborde pas de la plage 0…100.
Je vois pas comment ça a pu marcher en V4… cette regexp n’ayant pas changé.
c’est plutôt qu’elle ne devait pas être appliquée sur un champ décimal, et que maintenant elle l’est.
La regexp s’appliquait à du texte, on a du étendre son périmètre.
Vous devez créer votre regexp qui supporte vos valeurs, ou la retirer et coder le validate (plus simple quand on parle de plage, de décimaux…).