Magento - AJAX新闻通讯验证数据库中已存在的电子邮件

时间:2014-06-03 04:32:12

标签: javascript ajax validation magento

我正在使用此ajax validation,但它不会验证数据库中是否已存在电子邮件。如果您输入了有效的电子邮件地址,它就会通过:

onSubmit="if(newsletterSubscriberFormDetail.validator.validate())
 {
   new Ajax.Updater({success:'newsletter-validate-detail'}, 'newsletter/subscriber/new', 
     { 
       asynchronous:true, evalScripts:false, onComplete:function(request, json) 
     {
       Element.hide('newsletter-validate-detail');Element.show('pop-confirm');
     },  
       onLoading:function(request, json){}, parameters:Form.serialize(this)
     }); 
 } return false;"

我试图修改onsubmit功能,但无济于事。我希望这里有人可以教我如何进行验证工作,以便检查输入的电子邮件是否已经存在。

1 个答案:

答案 0 :(得分:0)

这是标准的Magento行为。 它不会检查电子邮件是否已存在并且始终显示“感谢您的订阅”。

如果您已登录并尝试输入其他人的电子邮件地址,则可以在Mage_Newsletter_SubscriberController中检查newAction仅检查现有电子邮件:

if ($ownerId !== null && $ownerId != $customerSession->getId()) {
    Mage::throwException($this->__('This email address is already assigned to another user.'));
}

您可能需要重写此方法才能实现“电子邮件已存在”错误。