Параметр «имя пользователя» не должен содержать запятых. Имя параметра: имя пользователя - PullRequest
1 голос
/ 21 января 2010

Я использую asp.net memebrlogin_control и получаю исключение «Параметр« имя пользователя »не должен содержать запятых. Имя параметра: имя пользователя». Я использую emailID в качестве имени пользователя в этом

Как я могу удалить эту ошибку, и я также хотел бы знать, что это список символов, которые следует запретить для проверки адреса электронной почты.

Ответы [ 3 ]

0 голосов
/ 21 января 2010

Попробуйте использовать регулярное выражение для проверки поля имени пользователя перед передачей его любому методу, который вы передаете. Вот пример:

http://www.codetoad.com/asp_email_reg_exp.asp

0 голосов
/ 05 февраля 2010

Считайте RFC 2822 для полного синтаксиса адреса электронной почты. Если вы работаете через BNF, вы увидите, что "@,@"@foo.bar - это прекрасно, если не обычно. Правило, которое вы запрашиваете, может быть найдено в разделе 3.2.4:

atext           =       ALPHA / DIGIT / ; Any character except controls,
                        "!" / "#" /     ;  SP, and specials.
                        "$" / "%" /     ;  Used for atoms
                        "&" / "'" /
                        "*" / "+" /
                        "-" / "/" /
                        "=" / "?" /
                        "^" / "_" /
                        "`" / "{" /
                        "|" / "}" /
                        "~"

atom            =       [CFWS] 1*atext [CFWS]

dot-atom        =       [CFWS] dot-atom-text [CFWS]

dot-atom-text   =       1*atext *("." 1*atext)

и раздел 3.4.1:

addr-spec       =       local-part "@" domain

local-part      =       dot-atom / quoted-string / obs-local-part

domain          =       dot-atom / domain-literal / obs-domain

Если вы игнорируете все, кроме dot-atom в правилах local-part и domain, вы будете сопоставлять обычные адреса. Возможно, ваш элемент управления asp.net не принимает все действительные адреса RFC2822, поэтому вам следует проверить эту документацию.

Вы можете сделать что-то похожее на трюк "% ", чтобы преобразовать действительный (или нет) адрес электронной почты в аргумент имени пользователя, который может принять ваш элемент управления.

( Освоение регулярных выражений от О'Рейли имел обыкновение иметь огромное количество одностраничных регулярных выражений (в основном правильных) для почтовых адресов, но оно пропало в 3-м изд.)

0 голосов
/ 21 января 2010

Запрещены запятые в адресе электронной почты в любом случае. Что произойдет, если вы введете имя пользователя без запятых?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...