Я использую EmailAddressAttribute для использования на моей модели.EmailAddressAttribute неверно классифицирует французский адрес электронной почты как недействительный
Проблема заключается в том, когда я использую (вполне допустимо) электронной почты
ó[email protected]
он говорит, что является недопустимым.
Модель:
public class ForgotPasswordViewModel
{
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
public CmsContentPagesModel PageCmsContent { get; set; }
public CmsContentPagesModel PageCmsContentInfoIcon { get; set; }
public CmsContentPagesModel PageCmsContentRightPanel { get; set; }
}
Является ли это проблемой с атрибутом, или я как-то надо указать, что французские электронные письма в порядке?
Поле ввода оказанной:
<div class="col-md-5">
<input class="form-control" data-val="true" data-val-email="The Email field is not a valid e-mail address." data-val-required="The Email field is required." id="Email" name="Email" type="text" value="" />
<span class="field-validation-valid text-danger" data-valmsg-for="Email" data-valmsg-replace="true"></span>
</div>
Я также извлек регулярное выражение из проверки на стороне клиента, следующая строка возвращает ложное
/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-][email protected][a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test('ó[email protected]');
, по-видимому соответствует с this standard даже несмотря на то, демо для этого точного code also fails.
Функция EmailAddressAttribute использует следующее Regex для проверки значения: [источник] (https://referencesource.microsoft.com/#System.ComponentModel.DataAnnotations/DataAnnotations/EmailAddressAttribute.cs,54). Адрес электронной почты, который вы предоставляете, соответствует регулярному выражению, поэтому он должен быть действительным. Можете ли вы опубликовать модель C#? Кстати, недавно я написал сообщение в блоге об [подтверждении адреса электронной почты .NET] (https://www.softfluent.com/blog/dev/2017/02/06/Advanced-email-address-validation-in-NET) – meziantou
@meziantou - Это хорошая новость, я добавил модель. –
проверить эту тему: http://stackoverflow.com/questions/12180753/regularexpressionvalidator-control-not-allowing-emails-with-french-characters-f –