我正在使用此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功能,但无济于事。我希望这里有人可以教我如何进行验证工作,以便检查输入的电子邮件是否已经存在。
答案 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.'));
}
您可能需要重写此方法才能实现“电子邮件已存在”错误。