Pour un champ de type "date", l'obligation n'est pas effective quand on permet de saisir l'horaire. Je joins le yaml du formulaire exemple.
La réponse est enregistrée sans message d'erreur pour l'utilisateur dans les cas suivants :
- on ne remplit ni la date ni l'heure
- on remplit l'heure mais pas la date
- si on met n'importe quoi dans l'heure (azerty) et rien dans la date
On obtient une erreur sur le format de l'heure quand :
- on remplit la date mais pas l'heure,
- on remplit la date et que l'on met n'importe quoi dans l'heure
On obtient une erreur sur la date quand on remplit n'importe quoi dans la date (que l'heure soit remplie ou non, avec une valeur correcte ou non)
Le fait que formidable nous dise que le format n'est pas correct alors que la réponse est vide n'est pas idéal, mais ce n'est pas très grave.
Mais que l'on puisse enregistrer un champ vide alors qu'il est obligatoire, c'est plus problématique.
Par ailleurs, dans l'un de mes formulaires, l'erreur php suivante apparaît :
Warning: strncmp() expects parameter 2 to be string, array given in /Users/flo/Sites/intranet/ecrire/inc/filtres_dates.php on line 98
quand je laisse vide un champ date+horaire (que le champ soit obligatoire ou non)
Mais je n'arrive pas à reproduire cette erreur dans mon formulaire de test (je ne comprends pas bien pourquoi). Le message est affiché sur ma page de navigateur. Il n'y a rien dans les logs. Je ne suis pas sûre que ce soit lié au problème de validation.
Je suis en spip 3.2.4 et Formidable 3.36.8
--
Florence HENRY
LESIA - CNRS / Observatoire de Paris
Par ailleurs, dans l'un de mes formulaires, l'erreur php suivante apparaît :
Warning: strncmp() expects parameter 2 to be string, array given in /Users/flo/Sites/intranet/ecrire/inc/filtres_dates.php on line 98
quand je laisse vide un champ date+horaire (que le champ soit obligatoire ou non)
Mais je n'arrive pas à reproduire cette erreur dans mon formulaire de test (je ne comprends pas bien pourquoi). Le message est affiché sur ma page de navigateur. Il n'y a rien dans les logs. Je ne suis pas sûre que ce soit lié au problème de validation.
Je confirme que ce message d'erreur n'a pas de lien direct avec la validation de formidable.
C'est juste que comme je considère que ce champ doit être rempli, dans ma page de retour, je fais une boucle avec ce critère de filtre. Si le champ n'est pas rempli, ça produit une erreur, ce qui est normal.
Cette erreur-là est donc un conséquence du problème de validation.
--
Florence HENRY
LESIA - CNRS / Observatoire de Paris
Mais que l'on puisse enregistrer un champ vide alors qu'il est obligatoire, c'est plus problématique.
la version 3.8.11 de saisies (envoyé sur la zone à l'instant) corrige cela.
Merci encore!
Le test d'existence fonctionne bien. Par contre, si on met la date mais pas l'heure, on a le message "Le format de la date n’est pas accepté". C'est un peu ambigu, je trouve. N'y a-t-il pas moyen de repérer que c'est le champ horaire qui manque et le notifier ainsi ?
--
Florence HENRY
LESIA - CNRS / Observatoire de Paris
Mais que l'on puisse enregistrer un champ vide alors qu'il est obligatoire, c'est plus problématique.
la version 3.8.11 de saisies (envoyé sur la zone à l'instant) corrige cela.
Merci encore!
Le test d'existence fonctionne bien. Par contre, si on met la date mais pas l'heure, on a le message "Le format de la date n’est pas accepté". C'est un peu ambigu, je trouve. N'y a-t-il pas moyen de repérer que c'est le champ horaire qui manque et le notifier ainsi ?
si on pourrait mais faut le faire. Et vu que c'est pas prioritaire, ce sera en dehors des heures de boulot, quand j'aurais du temps
Le test d'existence fonctionne bien. Par contre, si on met la date mais pas l'heure, on a le message "Le format de la date n’est pas accepté". C'est un peu ambigu, je trouve. N'y a-t-il pas moyen de repérer que c'est le champ horaire qui manque et le notifier ainsi ?
la version 1.9.1 du plugin "Vérifier" apporte ce comportement
C'est étrange car dans mon formulaire, la saisie des dates n'était pas obligatoire et je n'ai pas rencontré le problème (avec formodable 3.38.3 et vérifier 1.9.3).
--
Florence HENRY
LESIA - CNRS / Observatoire de Paris
C'est étrange car dans mon formulaire, la saisie des dates n'était pas obligatoire et je n'ai pas rencontré le problème (avec formodable 3.38.3 et vérifier 1.9.3).
--
Florence HENRY
LESIA - CNRS / Observatoire de Paris
C'est étrange car dans mon formulaire, la saisie des dates n'était pas
obligatoire et je n'ai pas rencontré le problème (avec formodable 3.38.3
et vérifier 1.9.3).
J'ai du mal à voir comment puisque dès qu'il y avait !isset() pour
"date" ou pour "heure" ça affichait toujours "La date doit être remplie"
et/ou "L'heure doit être remplie". Et surtout quand les deux étaient
vides à la fois.
Maintenant ça ne met l'erreur que quand on remplit l'heure sans la date.
Mais si les deux sont vides à la fois, ça ne fait rien.