【问题标题】:Show error : valid email address in magento显示错误:magento 中的有效电子邮件地址
【发布时间】:2015-03-13 17:47:18
【问题描述】:

我正在使用 magento 1.8。我是 magento 的新手,所以在结帐页面上,当我输入电子邮件地址时,它会显示一个带有“输入有效电子邮件地址”的弹出窗口。

当我在已经注册的列中输入电子邮件 ID 和密码时,它再次起作用。

有什么问题,我应该在 magento 中的哪里找到电子邮件验证文件?

以及如何验证电子邮件ID?

我正在使用此代码

  <?php if(!$this->isCustomerLoggedIn()): ?>
                <div class="field">
                    <label for="billing:email" class="required"><em>*</em><?php echo $this-        >__('Email Address') ?></label>
                    <div class="input-box">
                        <input type="text" name="billing[email]" id="billing:email" value="<?php       echo $this->htmlEscape($this->getAddress()->getEmail()) ?>" title="<?php echo $this->__('Email    Address') ?>" class="string input-block-level input-text validate-email required-entry billing-email" />
                    </div>
                </div>
    <?php endif; ?>

验证电子邮件 ID:

    "validate-emails": [
        function(value) {
            if ($.mage.isEmpty(value)) {
                return true;
            }
            var valid_regexp = /^[a-z0-9\._-]{1,30}@([a-z0-9_-]{1,30}\.){1,5}[a-z]{2,4}$/i,
                emails = value.split(/[\s\n\,]+/g);
            for (var i = 0; i < emails.length; i++) {
                if (!valid_regexp.test(emails[i].strip())) {
                    return false;
                }
            }

【问题讨论】:

  • “validate-email”类会触发任何验证吗?你能把那个代码贴出来吗?
  • 您好,感谢您的回复,我发布了电子邮件ID的验证。
  • 我检查了正则表达式,它对我有用。您确定触发了验证吗?可以调试吗?
  • 不,其实我不知道怎么调试
  • 尝试关注stackoverflow.com/questions/7474245/… 并发布跟踪,看看是否访问了该函数。

标签: php validation email checkout magento-1.8


【解决方案1】:

您将错误的代码归咎于验证电子邮件:弹出的警报来自代码:

<script>
  jQuery(document).ready(function(){
    jQuery("#onepage-guest-register-button" ).click(function(){
       var mailid=jQuery('#guest-email').attr('value');
       var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
       if( !emailReg.test(mailid) ){
          alert("please Enter valid Email Address")
          return false;
       }else if (jQuery('#guest-email').attr('value')==''){
          alert("please enter valid Email Address ");
          return false;
       }else{
          var mailid=jQuery('#guest-email').attr('value');
          jQuery('.bill-mail').val(mailid);
          checkout.setMethod();
       }  
    })
  })
</script>

虽然您生成的输入是:

<input type="text" class="input-text required-entry validate-email" id="guest-email" name="guest[username]" value="">

我调试了一下,似乎问题出在 else-if 语句上:

  else if(jQuery('#guest-email').attr('value')=='')

尝试:

 else if(jQuery('#guest-email').val()=='') 

【讨论】:

  • 你能告诉我这个脚本在哪个文件中,因为我找不到这个。
  • 这超出了我的可能性,因为我只检查生成的源。我在页面54.169.49.64/littlebees/index.php/checkout/onepage 的源代码中找到了它。您应该能够使用“请输入有效的电子邮件地址”之类的关键字来搜索您的代码。
猜你喜欢
  • 1970-01-01
  • 2019-10-01
  • 1970-01-01
  • 2015-04-24
  • 2022-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-11
相关资源
最近更新 更多