0

我发现的核心 Magento 电子邮件验证脚本不起作用,并且不断阻止完美的电子邮件地址 - 我已经在大多数表单中注释掉了验证类: <input type="text" name="email" class="input-text validate-email required-entry" />

但是我在管理区域遇到了同样的问题,例如在商店电子邮件地址字段中: 在此处输入图像描述

我试图找到这个表格,以便我可以注释掉验证类 - 但我找不到它,

模板路径是 adminhtml/default/default/template/widget/form.phtml 其中包含

    <div class="entry-edit">
    <?php echo $this->getFormHtml();?>
    </div>
    <?php echo $this->getChildHtml('form_after');?>

在这一点上我有点失落?

我还尝试在 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)
            //}],

但我仍然在表单顶部收到验证消息,说请输入有效的电子邮件地址。

任何帮助,将不胜感激

4

2 回答 2

0

我想我已经解决了这个问题 - 我基本上将 js/mage/adminhtml/form.js 中的 checkErrors 函数设置为 false :

 checkErrors : function(result, elm){
    if(!result)
        elm.setHasError(false, this);
    else
        elm.setHasError(false, this);
},

这似乎解决了这个问题......

谢谢

于 2013-05-01T17:27:22.150 回答
0

请覆盖视图文件并从下面的文本框中删除类“validate-email”。这将自动删除验证。您不需要评论来自 validation.js 的验证

<input type="text" name="email" class="input-text validate-email required-entry" />
于 2013-05-01T13:12:53.083 回答