saisies_verifier() et les dates nulles
J'ai voulu me pencher un peu sur cextras pour mutualiser toute la vérification avec saisies.
Le point où on se heurte est le suivant. Dans cextras_pipelines, on le commentaire suivant
// [FIXME] exceptions connues de vérifications (pour les dates entre autres)
// en attendant une meilleure solution !
//
// Lorsque le champ n'est pas rempli dans le formulaire
// alors qu'une normalisation est demandée,
// verifier() sort sans indiquer d'erreur (c'est normal).
//
// Sauf que la donnée alors soumise à SQL sera une chaine vide,
// ce qui ne correspond pas toujours à ce qui est attendu.
En gros: si un champ date a été envoyé en ''
, il faut automatiquement le convertir en '0000:00:00'
. Or la normalisation n'est appelé que si le champ !=''
. Du coup pas de normalisation...et cextras contourner cela.
Pareil que pour #78 (closed), il faudrait que ce soit géré automatiquement par saisies, et pareil, uniquement sur les formulaires editer_truc
.
J'en viens à me demande du coup s'il faudrait pas créer une fonction saisies_normaliser_pour_sql()
qui
- Serait appelée à la toute fin de
saisies_verifier()
si l'on est dans un formulaireediter_xxx
- Ferait les deux choses suivantes :
a. Pour les saisies notées comme
afficher_si_masque
dans la globale, ferait_set_request('lasaisie', '')
b. Pour les saisies 'date' avec un 'normaliser' en sql, transformerait''
en0000-00-00
. A moins que l'on considère que ce soit du rôle du core ?