Использование действительно простой проверки полей с Prototype - однако адреса электронной почты Yahoo, похоже, не проходят. Есть идеи? - PullRequest
0 голосов
/ 21 марта 2019

Я использую действительно легкую проверку поля с прототипом Эндрю Тетлоу в https://github.com/atetlaw/Really-Easy-Field-Validation

Но по какой-то причине в моей форме, которую я использую, адреса электронной почты Yahoo, похоже, полностью не проходят проверку. Но, адреса Gmail проходят прямо через. Есть идеи, почему?

Насколько я могу судить, секция validate-email довольно проста в моем файле js / prototype / validation.js:

['validate-email', 'Please enter a valid email address. For example johndoe@domain.com.', 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, ничего, что бы указывало на то, почему они не проходят.

Есть идеи, ребята?

...