Вы можете добавить ссылку (ref="yourMenu"
) на компонент VMenu. После этого вы можете вызывать методы, определенные в keyable mixin, например :
const menu = this.$refs.yourMenu
menu.changeListIndex(e) // e is event that has brought you here
// or...
menu.onKeyDown(e) // if you don't want to handle keys in different way
Я нашел библиотеку в коде Google: http://code.google.com/p/php-email-address-validation/
Есть еще какие-нибудь?
[ОБНОВЛЕННЫЙ] я сопоставил все, что я знаю о проверке адреса электронной почты здесь: http://isemail.info, который теперь не только проверяет, но также и диагностирует проблемы с адресами электронной почты. Я соглашаюсь со многими комментариями здесь, что проверка является только частью ответа; см. мое эссе по http://isemail.info/about.
Я теперь сопоставил тестовые сценарии от Cal Henderson, Dave Child, Phil Haack, Doug Lovell и тестовых адресов RFC 3696. 158 всего.
Я запустил все эти тесты против всех блоков проверки допустимости, которые я мог найти. Сравнение здесь: http://www.dominicsayers.com/isemail
Я попытаюсь усовершенствовать эту страницу, поскольку люди улучшают свои блоки проверки допустимости. Благодаря Cal, Dave и Phil для их справки и сотрудничества в компиляции этих тестов и конструктивной критики моего собственного блока проверки допустимости.
Люди должны знать об опечатках против RFC 3696 в частности. Тремя из канонических примеров являются на самом деле недопустимые адреса. И максимальная длина адреса является 254 или 256 символами, не 320.
AFAIK, единственный хороший способ проверить электронное письмо состоит в том, чтобы быть послать электронное письмо и видеть, возвращается ли пользователь к сайту с помощью ссылки в этом электронном письме. Это - то, какую партию сайтов делают.
Как Вы указываете со ссылкой на известного мамонта regex, проверка всех форм адреса электронной почты трудна, близко к невозможному. Настолько легко сделать это неправильно, даже для тривиальных электронных писем стиля (я нашел слишком много сайтов, отклоняющих ограничения в адресах электронной почты! И самые старые regexes отклоняют TLDs больше чем 4 букв!).
AFAIK, "Jean-Luc B. O'Grady" @example.com и e=m.c^2 [82.128.45.117] являются оба допустимыми адресами... В то время как I-Made-It-Up@Absurd-Domain-Name.info, вероятно, будет недопустим.
Так так или иначе я просто проверил бы, что мы имеем что-то, уникальное, что-то еще, и идем с ним: это зафиксировало бы большинство пользовательских ошибок (как пустое поле или имя пользователя вместо адреса электронной почты).
Если бы пользователь хочет дать поддельный адрес, он просто дал бы что-то случайное, смотрящее корректный (see@on.tv или bill.gates@microsoft.com). И никакой блок проверки допустимости не найдет опечатки (jhon.b@example.com вместо john.b@example.com).
Если бы Вы действительно хотите проверить электронные письма против полного RFC, я советовал бы для использования regexes, чтобы разделить вокруг, затем проверить отдельно локальное имя и доменное имя. Отдельный случай локального имени, запускающегося с "от других случаев, и т.д. Отдельный случай доменного имени, запускающегося с [от других случаев, и т.д. Проблема разделения в меньших определенных доменах и использование regexes только на четко определенные, более простые случаи.
Этот совет может быть применен к партии использования regex, конечно...
Cal Henderson (Flickr) записал совместимый адрес электронной почты RFC822 matcher с объяснением RFC и кода, использующего RFC для соответствия адресам электронной почты. Я использовал его в течение достаточно долгого времени теперь без жалоб.
RFC822 (опубликованный в 1982) определяет, среди других вещей, формата для интернет-текстового сообщения (электронная почта) адреса. Можно найти RFC путем поиска с помощью Google - существуют много много копий их онлайн. Они являются немного краткими и удачливые отформатированный, но с небольшим усилием мы можем seewhat они достигать.
... Обновление...
Как Porges, на который указывают в комментариях, библиотека по ссылке устарела, но та страница имеет ссылку на обновленную версию.
Вы посмотрели на функции filter_ PHP? Они не прекрасны, но они делают довольно достойное задание, по моему опыту.
Использование в качестве примера (возвращает булевскую переменную):
filter_var($someEmail, FILTER_VALIDATE_EMAIL);
Zend_Validate включает почтовый блок проверки допустимости.
Существует много регулярных выражений вокруг для проверки - все от очень простого до очень усовершенствованного. Действительно необходимо выбрать что-то, что соответствует важности действующего адреса электронной почты в приложении.
я рекомендовал бы посмотреть на исходный код Zend_Validate_EmailAddress [источник].
после того как Вам зафиксировали Ваши зависимости, можно просто сделать следующее:
$mail_validator = new Zend_Validate_EmailAddress();
$mail_validator->isValid($address); // returns true or false
лучше всего должен был бы получить полную Библиотеку Зенда в Ваш проект через внешний svn и указать на включать путь к нему...
но можно просто загрузить необходимые файлы (1,2,3,4,5,6) и включать их всех (удалите вызовы require_once),