Я использую действительно простую проверку поля с прототипом Эндрю Тетлоу из https://github.com/atetlaw/Really-Easy-Field-Validation.
Но по какой-то причине в моей форме, в которой я это использую, адреса электронной почты Yahoo, похоже, полностью не проходят проверку. Но адреса Gmail проходят сразу. Есть идеи, почему?
Насколько я могу судить, раздел проверки электронной почты довольно прост в моем файле js/prototype/validation.js:
['validate-email', 'Please enter a valid email address. For example [email protected].', function (v) {
//return Validation.get('IsEmpty').test(v) || /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/.test(v)
//return Validation.get('IsEmpty').test(v) || /^[\!\#$%\*/?|\^\{\}`~&\'\+\-=_a-z0-9][\!\#$%\*/?|\^\{\}`~&\'\+\-=_a-z0-9\.]{1,30}[\!\#$%\*/?|\^\{\}`~&\'\+\-=_a-z0-9]@([a-z0-9_-]{1,30}\.){1,5}[a-z]{2,4}$/i.test(v)
return Validation.get('IsEmpty').test(v) || /^([a-z0-9,!\#\$%&'\*\+/=\?\^_`\{\|\}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9,!\#\$%&'\*\+/=\?\^_`\{\|\}~-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*@([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z0-9-]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*\.(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]){2,})$/i.test(v)
}]
Затем в моем phtml (Magento) я запускаю проверку этого поля ввода:
<input name = "dealerapp[email]" id = "dealerapp:email" title = "<?php echo Mage::helper('contacts')->__('Email') ?>" class = "input-text validate-email required-entry" type = "email" autocapitalize = "off" autocorrect = "off" spellcheck = "false" />
Но, как я уже сказал, по какой-то причине адреса электронной почты Yahoo вообще не отправляются. Никаких сообщений об ошибках, ничего в консоли Google Chrome Dev, ничего, что указывало бы, почему они не проходят.
Есть идеи, ребята?
@ChrisLi Просто электронное письмо Yahoo, которое я создал сегодня утром, потому что многие клиенты сообщали, что их адреса не работают с этой формой. Единственным общим знаменателем было то, что они были адресами Yahoo. Тот, который я создал для тестирования: [email protected]



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


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