吐槽:Django EmailField 的验证尽然支持 abc@domain。com 这种域名,注意是句号啊,有木有?看了下 django 的源代码,发现确实如此。

2013-03-25 11:02:10 +08:00
 ayang23
django.core.validators.py line 39:

if not self.regex.search(smart_unicode(value)):
raise ValidationError(self.message, code=self.code)

句号直接验证通过了,我晕。
3612 次点击
所在节点    Python
5 条回复
workaholic
2013-03-25 16:43:53 +08:00
bug
c742435
2013-03-25 16:59:51 +08:00
具体不懂,但是任何一个现代桌面浏览器都支持句号代替dot
xiaket
2013-03-25 17:49:34 +08:00
要吐槽也贴真正对应的那部分嘛. 自己看看django.core.validators.py line 119行附近对idna的处理. 下面是我的测试代码, 应该能说明问题:

>>> s = u"gmail。com"
>>> s.encode("idna").decode("ascii")
u'gmail.com'
BOYPT
2013-03-25 19:34:04 +08:00
#feature
swulling
2013-03-25 20:20:21 +08:00
这是feature不是bug

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/63952

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX