Projet

Général

Profil

Support #48657

refus d'une adresse mail non-ascii sur /rsu/individu

Ajouté par Thomas Noël il y a plus de 3 ans. Mis à jour il y a plus d'un an.

Statut:
Information nécessaire
Priorité:
Bas
Assigné à:
-
Version cible:
-
Début:
18 novembre 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

sur un POST avec email = noë on a une erreur ErrorDetail(string=u'Saisissez une adresse email valable.', code=u'invalid')]"

Alors que c'est un email valable... comment pourrait-on dire à DRF de laisser filer ?

Historique

#2

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

C'est valide des caractères hors ASCII 7-bit dans les adresses mails ?

#3

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

Visiblement oui, depuis 20121:

In addition to ASCII characters, as of 2012 you can use international characters above U+007F, encoded as UTF-8 as described in the RFC 6532 spec and explained on Wikipedia. Note that as of 2019, these standards are still marked as Proposed, but are being rolled out slowly. The changes in this spec essentially added international characters as valid alphanumeric characters (atext) without affecting the rules on allowed & restricted special characters like !# and @:.

1 https://stackoverflow.com/questions/2049502/what-characters-are-allowed-in-an-email-address

On peut autoriser dans la partie locale tout UTF-8 hors ASCII.

#4

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

PS: en gros on doit ajouter r'[\x80-\xFFFFFFFF]'

#5

Mis à jour par Thomas Noël il y a plus de 3 ans

Benjamin Dauvergne a écrit :

PS: en gros on doit ajouter r'[\x80-\xFFFFFFFF]'

Selon toi ça s'ajoute où ? Parce que dans le code je pense qu'on utilise juste le serializer de DRF (EmailField) et que c'est lui qui râle, en fait.

#6

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

Thomas Noël a écrit :

Benjamin Dauvergne a écrit :

PS: en gros on doit ajouter r'[\x80-\xFFFFFFFF]'

Selon toi ça s'ajoute où ? Parce que dans le code je pense qu'on utilise juste le serializer de DRF (EmailField) et que c'est lui qui râle, en fait.

Ça s'ajoute en refaisant/surchargeant EmailField avec la validation qui nous plaît comme dans authentic :/ Mais je t'encourage à ouvrir un ticket dans Django (car je pense que DRF utilise la même validation que Django) à moins que ce soit déjà corrigé dans les versions récentes.

PS: visiblement pas, https://github.com/django/django/blob/master/django/core/validators.py#L161 et je ne vois aucun ticket ouvert, ce qui ne m'étonne pas trop moi même c'est la première fois que vois un accent dans un adresse email.

#7

Mis à jour par Thomas Noël il y a plus de 3 ans

Benjamin Dauvergne a écrit :

PS: visiblement pas, https://github.com/django/django/blob/master/django/core/validators.py#L161 et je ne vois aucun ticket ouvert, ce qui ne m'étonne pas trop moi même c'est la première fois que vois un accent dans un adresse email.

Oui en vérité je suis un peu perplexe, c'est très peu utilisé et je soupçonne même que dans l'exemple vu chez le client, ça soit une erreur de la part de l'agent qui a saisi le mail (chloé au lieu de chloe). Je vais faire un ticket pour discuter si on veut pour l'instant interdire ça dans la partie gauche des champs email de w.c.s.

#8

Mis à jour par Benjamin Dauvergne il y a environ 3 ans

  • Statut changé de Nouveau à Information nécessaire
  • Priorité changé de Normal à Bas
#9

Mis à jour par Benjamin Dauvergne il y a environ 3 ans

  • Assigné à mis à Thomas Noël
#10

Mis à jour par Thomas Noël il y a plus d'un an

  • Assigné à Thomas Noël supprimé

Formats disponibles : Atom PDF