[Résolu] formidable 5.6.0 message d’alerte

formidable 5.6.0 message d’alerte
SPIP 4.2.6 - PHP 8.2.10
Unicité des réponses Date

Pas de message d’alert pour :
#FORMULAIRE_FORMIDABLE{pic_a, #ARRAY{date_1, #GET{date_saisie}, url_redirect,#GET{redirect}}}

Message d’alerte pour :
#FORMULAIRE_FORMIDABLE{#ID_FORMULAIRE}

Bonjour,

ce n’est pas très claire ton problème. Si tu pouvais écrire un message moins lapidaire…

réglage >> configurer les traitements >> vérifier l’unicité d’un champ >> DATE
Le formulaire ne contient que input_1 et date_1.
squelettes/formulaire.html, je l’utilise que avec ecrire/formulaires >> voir en ligne, qui contient :

<BOUCLE_test(FORMULAIRES){id_formulaire}>
<h1>#TITRE</h1>
#FORMULAIRE_FORMIDABLE{#ID_FORMULAIRE}
</BOUCLE_test>

Saisie d’une date existante donne :
Il y a 1 erreur dans votre saisie, veuillez vérifier les informations.
Date (obligatoire) : Cette valeur est déjà utilisée

squelettes/form_maj.html la boucle est remplacée par :

#SET{redirect,#URL_ARTICLE{xx}|url_absolue}
#SET{date_saisie, #EVAL{date('Y-m-d H:i:s')}}
#FORMULAIRE_FORMIDABLE{pic_a,#ARRAY{date_1,#GET{date_saisie},url_redirect,#GET{redirect}}}

Affiche des paramètres corrects, je remplace la date du jour par une date déjà saisie.
Réaffiche les paramètres et pas de message d’alerte.
Si la date est différent enregistrement du formulaire et renvois sur l’url_redirect.

Je vais écrire la réponse à ton problème dans le même style que toi, histoire que tu vois à quoi cela ressemble.

SPIP identifie formulaire.
Lorsque SPIP vérifie erreur s’assure que formulaire postée correspond au formulaire à reafficher avec erreur.
Pour vérifier correspondance, se base sur les arguments.
Tes arguments varient entre le moment où le formulaire est affiché pour la première fois aux fin de remplissage et le moment où il est vérifié. En effet tu as un argument correspondant à une date avec heure,minute, seconde.
Donc ton formulaire n’est jamais le même. Donc la vérification ne peut pas être effectuée.

Solution a: ne pas préciser heure/minute/seconde et tout mettre à minuit, mais problème si une personne commence à remplr formulaire avant minuit et fini après

Solution b: avoir une option dans la saisie date pour que valeur par défaut soit aujourd’hui, peut être un jour aurais je temps de faire cela, mais pas franchement motivé vu les formes redactionnelles de cette conversation sans bonjour ni pouvez vous m’aider ou autre formulaire de politesse

Solution c : avoir un pipeline sur formulaire_identifier, pas sur pertinence et en tout cas pas avant longtemps dans le future, et pas sur que cela répondrait non plus au problème

Solution d: faire confiance aux internautes pour connaitre la date du jour.

Merci pour ta réponse

Solution a : ne pas préciser heure/minute/seconde

Bien vu, c’est la cause de mon problème.

Tous fonctionne, merci.

les formes redactionnelles de cette conversation sans bonjour ni pouvez vous m’aider ou autre formulaire de politesse

oups désolé