使用 .net 创建用户时,asp.net CreateUser 中的 InvalidUserName @ 字符之前的字符
我查了一下msdn文档,它说当在数据库中找不到用户名时会抛出InvalidUserName,这很好,因为我创建的用户不应该存在于数据库中。
如果我使用 [email protected],它可以工作,但如果我尝试一下对于 [email protected],Membership.CreateUser 的状态为 InvalidUserName。
I looked up the msdn documentation and it says that InvalidUserName is thrown when it does not find the username in the database, which is fine because the user I am creating should not exist in the database.
If I use [email protected], it works, but if I try it with [email protected], the status from Membership.CreateUser is InvalidUserName.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
电子邮件地址采用用户名@域的形式,其中域至少由句点/点分隔的两部分组成。
RFC 规范指出 .地址的用户名部分(@之前的部分)有效,除非 .是(用户名的)第一个或最后一个字符,因此您注意到的行为是正确的。
https://www.rfc-editor.org/rfc/rfc5322
很好找到@大卫·斯特拉顿:来自他评论中的维基百科链接......
Email addresses come in the form username@domain where domain is at least two parts separated by a period/dot.
The RFC Specification says that a . in the username part of the address (the part before @) is valid unless the . is the first or last character (of the username), so the behaviour that you are noticing is correct.
https://www.rfc-editor.org/rfc/rfc5322
Good find @David Stratton: From the wikipedia link in his comment...