我正在使用安德鲁·泰特劳(Andrew Tetlaw)在https://github.com/atetlaw/Really-Easy-Field-Validation
上的原型进行的真正易用字段验证但是由于某种原因,在我使用此表单的表单上,Yahoo电子邮件地址似乎完全无法通过验证。但是,gmail地址会一直继续下去。有什么想法吗?
据我所知,在我的js / prototype / validation.js文件中,validate-email部分非常简单:
['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" />
但是,就像我说的那样,由于某种原因,雅虎的电子邮件地址根本不提交。没有错误消息,Google Chrome Dev控制台中没有任何内容,也没有任何迹象表明它们不通过的原因。
伙计们,有什么想法吗?