email commençant par un espace est rejeté sans explication #5218

Closed
opened 2 months ago by JLuc · 14 comments
JLuc commented 2 months ago

Sur un spip 407 ou je suis webmestre, et sur contrib spip 411 où je suis admin, il m'était impossible de changer le mail d'un auteur.
Aucune erreur n'était affichée mais le focus revenait à la saisie de l'email, le form refusant l'enregistrement.
J'ai compris que le problème venait d'un espace au début du mail.

À tester par exemple ici https://contrib.spip.net/ecrire/?exec=auteur_edit&id_auteur=8034 (les adresses @voila sont mortes depuis longtemps donc pas de risque).

  • AMHA il faudrait faire un trim avant de tester le mail
  • en cas d'erreur il faudrait un message d'erreur
Sur un spip 407 ou je suis webmestre, et sur contrib spip 411 où je suis admin, il m'était impossible de changer le mail d'un auteur. Aucune erreur n'était affichée mais le focus revenait à la saisie de l'email, le form refusant l'enregistrement. J'ai compris que le problème venait d'un espace au début du mail. À tester par exemple ici https://contrib.spip.net/ecrire/?exec=auteur_edit&id_auteur=8034 (les adresses @voila sont mortes depuis longtemps donc pas de risque). - AMHA il faudrait faire un trim avant de tester le mail - en cas d'erreur il faudrait un message d'erreur
Owner

J'ai pu modifier l'adresse en question sans problème sur contrib où je suis admin non restreint.

Si le problème signalé est bien l'impossibilité de valider un email contenant un espace en début ou fin de chaîne, je t'invite à reformuler le titre du ticket :)

PS : le problème avec l'espace ne vient pas de la validation côté PHP, mais du fait que l'input est de type email, c'est donc le navigateur qui bloque.

J'ai pu modifier l'adresse en question sans problème sur contrib où je suis admin non restreint. Si le problème signalé est bien l'impossibilité de valider un email contenant un espace en début ou fin de chaîne, je t'invite à reformuler le titre du ticket :) PS : le problème avec l'espace ne vient pas de la validation côté PHP, mais du fait que l'input est de type email, c'est donc le navigateur qui bloque.
JLuc changed title from Impossible modifier email d'un auteur to email commençant par un espace est rejeté sans explication 2 months ago
Owner
C'est un bug côté navigateur donc : https://bugzilla.mozilla.org/show_bug.cgi?id=849611 https://bugzilla.mozilla.org/show_bug.cgi?id=657702 https://bugzilla.mozilla.org/show_bug.cgi?id=1132142 Et à ce sujet https://jtreminio.com/blog/firefox-input-email-validation/
Poster

Ya le pb de pas enlever l'espace avant de tester, maius ya aussi le pb de ne pas afficher de message d'erreur.

En fait, FF propose bien un message d'erreur, mais invisible car totalement masqué (et flushé je crois) par un autre message qui propose "Afficher les identifiants enregistrés" !

Le pb ne se produit pas que lorsqu'il y a une espace en début de mail, mais aussi lorsque le mail est incorrect, par exemple s'il manque le @

Ya le pb de pas enlever l'espace avant de tester, maius ya aussi le pb de ne pas afficher de message d'erreur. En fait, FF propose bien un message d'erreur, mais invisible car totalement masqué (et flushé je crois) par un autre message qui propose "Afficher les identifiants enregistrés" ! Le pb ne se produit pas que lorsqu'il y a une espace en début de mail, mais aussi lorsque le mail est incorrect, par exemple s'il manque le @
Owner

En fait, FF propose bien un message d'erreur, mais invisible car totalement masqué (et flushé je crois) par un autre message qui propose "Afficher les identifiants enregistrés" !

Pas du tout, chez moi j'ai bien un message d'erreur affiché par FF juste sous l'input du mail, le message des trucs enregistrés vient du fait que tu utilises le gestionnaire de mot de passe de FF. Bref, tout ça n'a plus grand chose à voir avec SPIP.

> En fait, FF propose bien un message d'erreur, mais invisible car totalement masqué (et flushé je crois) par un autre message qui propose "Afficher les identifiants enregistrés" ! Pas du tout, chez moi j'ai bien un message d'erreur affiché par FF juste sous l'input du mail, le message des trucs enregistrés vient du fait que tu utilises le gestionnaire de mot de passe de FF. Bref, tout ça n'a plus grand chose à voir avec SPIP.
Owner

une capture d'écran aiderait à comprendre, mais en effet il y a un bug d'interface sous FF, on ne voit pas le message d'erreur du navigateur si on a des identifiants enregistrés sur le site concerné.

Mais donc ça nous concerne un peu, car on devrait pouvoir mettre des attributs qui vont bien pour éviter que les navigateurs ne proposent de remplir l'email ou le login de la page editer_auteur avec les identifiants enregistrés pour ce site vu que c'est pas du tout notre fiche qu'on édite en général...

une capture d'écran aiderait à comprendre, mais en effet il y a un bug d'interface sous FF, on ne voit pas le message d'erreur du navigateur si on a des identifiants enregistrés sur le site concerné. Mais donc ça nous concerne un peu, car on devrait pouvoir mettre des attributs qui vont bien pour éviter que les navigateurs ne proposent de remplir l'email ou le login de la page editer_auteur avec les identifiants enregistrés pour ce site vu que c'est pas du tout notre fiche qu'on édite en général...
Poster

Mouais bah faut bien tenir compte de comment les navigateurs fonctionnent... Yavait des tweaks pour IE on pourrait imaginer des tweaks pour FF.

Ma bon je ferme.
Pour libérer du temps pour les trucs plus importants !

Mouais bah faut bien tenir compte de comment les navigateurs fonctionnent... Yavait des tweaks pour IE on pourrait imaginer des tweaks pour FF. Ma bon je ferme. Pour libérer du temps pour les trucs plus importants !
JLuc closed this issue 2 months ago
Poster

messages croisés, réouvre stv cerdic

messages croisés, réouvre stv cerdic
cerdic reopened this issue 2 months ago
Owner

une capture d'écran aiderait à comprendre

Bon courage, j'ai tenté mais la moindre action ferme la notif du navigateur, la seule solution est de lancer une capture à retadement et tenter de faire afficher la notif au bon moment :D

on devrait pouvoir mettre des attributs qui vont bien pour éviter que les navigateurs ne proposent de remplir l'email ou le login

On le fait déjà je crois bien, avec l'attribut autocomplete off, mais celui-ci est ignoré par les navigateurs cf https://stackoverflow.com/a/468295 & https://stackoverflow.com/a/21348793 => HTML5 rocks sucks ^^

> une capture d'écran aiderait à comprendre Bon courage, j'ai tenté mais la moindre action ferme la notif du navigateur, la seule solution est de lancer une capture à retadement et tenter de faire afficher la notif au bon moment :D > on devrait pouvoir mettre des attributs qui vont bien pour éviter que les navigateurs ne proposent de remplir l'email ou le login On le fait déjà je crois bien, avec l'attribut autocomplete off, mais celui-ci est ignoré par les navigateurs cf https://stackoverflow.com/a/468295 & https://stackoverflow.com/a/21348793 => HTML5 ~~rocks~~ sucks ^^
Poster

Voici 2 copies d'écran.

Ça se produit quand on valide avec le bouton Enregistrer : la fenêtre scroll vers le haut jusqu'à l'input email qui reçoit le focus ; je vois maintenant que le message d'erreur apparaît une fraction de seconde mais qu'il est remplacé par l'invitation aux mots de passe.

Quand on fait Enter alors que le focus est dans l'input email, le message d'erreur apparaît bien sans être flushé par l'invitation aux mots de passe.

Voici 2 copies d'écran. Ça se produit quand on valide avec le bouton Enregistrer : la fenêtre scroll vers le haut jusqu'à l'input email qui reçoit le focus ; je vois maintenant que le message d'erreur apparaît une fraction de seconde mais qu'il est remplacé par l'invitation aux mots de passe. Quand on fait Enter alors que le focus est dans l'input email, le message d'erreur apparaît bien sans être flushé par l'invitation aux mots de passe.
Owner

en fait il faut un autocomplete="new-password" sur le champ email
https://www.w3docs.com/snippets/html/how-to-disable-browser-autocomplete-and-autofill-on-html-form-and-input-fields.html

... comme on a déjà sur les champs login et password du même formulaire :)

en fait il faut un `autocomplete="new-password"` sur le champ email https://www.w3docs.com/snippets/html/how-to-disable-browser-autocomplete-and-autofill-on-html-form-and-input-fields.html ... comme on a déjà sur les champs login et password du même formulaire :)
Owner

Et donc
#5219

j'ai patché à l'arrache sur contrib pour valider, donc tu dois plus y avoir le problème @JLuc

Et donc https://git.spip.net/spip/spip/pulls/5219 j'ai patché à l'arrache sur contrib pour valider, donc tu dois plus y avoir le problème @JLuc
Owner

L’erreur avec l’espace s’affiche très bien chez moi (et reste)

L’erreur avec l’espace s’affiche très bien chez moi (et reste)
Poster

je confirme que c'est réglé sur contrib.

je confirme que c'est réglé sur contrib.
Owner

tu arrives après la bataille @marcimat c'est déjà réparé :p

tu arrives après la bataille @marcimat c'est déjà réparé :p
marcimat closed this issue 2 months ago
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.