MVC3 действительный адрес электронной почты - PullRequest
0 голосов
/ 13 декабря 2011

Существует ли встроенная функция, которая будет проверять, является ли адрес электронной почты действительным?

Я хочу проверить правильность структуры адреса электронной почты перед отправкой подтверждающего электронного письма конечному пользователю.

Я понимаю, что мог бы достаточно легко создать свою собственную функцию с помощью регулярного выражения, но если бы была встроенная функция, я бы предпочел использовать это.

Ответы [ 2 ]

4 голосов
/ 13 декабря 2011

Я думаю, вы можете сделать это с помощью расширений аннотаций данных. Прочитайте запись в блоге Скотта Гатри об этом здесь: http://weblogs.asp.net/srkirkland/archive/2011/02/23/introducing-data-annotations-extensions.aspx.

В сообщении Скотта есть хорошая точка зрения о том, почему вы должны использовать это, а не валидаторы MVC 3 Futures, которые могут иметь отношение к вашему выбору:

Фьючерсы ASP.NET MVC 3 определяют четыре новых атрибута аннотаций данных, которые также имеет этот проект: CreditCard, Email, Url и EqualTo. К сожалению, ссылка на фьючерсы MVC 3 требует зависимости от MVC 3 на уровне модели, что может быть нежелательно в многоуровневом проекте. Расширения аннотаций данных поддерживают разделение библиотек на стороне сервера и на стороне клиента, поэтому использование атрибутов проверки проекта не требует от вас принятия каких-либо дополнительных зависимостей на уровне модели, которые по-прежнему обеспечивают расширенные возможности проверки клиента, если вы используете MVC 3.

2 голосов
/ 13 декабря 2011

Да, вы можете использовать

public class CustomerMetaData
{
    // Add type information.
    [DataType(DataType.EmailAddress)]
    public object EmailAddress;
}

на вашей модели.Подробнее об этом здесь .

однако, в прошлый раз, когда я проверял, это не работает на стороне клиента.

Я погуглил это, и из сообщения в блоге imran baloch Кажется, теперь это работает.

...