【问题标题】:Email Validation in Checkout Page in MagentoMagento 结帐页面中的电子邮件验证
【发布时间】:2014-02-27 23:28:39
【问题描述】:

我需要更改 Magento 结帐页面的电子邮件验证(以访客身份结帐)。

问题是输入框的默认样式只包含字符支持。当我尝试输入带有数字的电子邮件时,它不接受并显示数字。

所以我需要对其电子邮件进行适当的验证。电子邮件地址输入框也应该接受带数字的字符。

谢谢,

我尝试检查此代码:

文件位置:onepage/billing.phtml

 <?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->escapeHtml($this->getAddress()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="input-text validate-email required-entry" />
                        </div>
                    </div>
        <?php endif; ?>

文件位置: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)
            }],

【问题讨论】:

  • 你输入的是什么email-id?
  • 以访客身份结帐时,可以使用电子邮件 ID sample123@yahoo.com。输入类型应该是 您是否对验证脚本进行了任何自定义更改?
  • 还是不行。我认为软件供应商定制了它。我曾经检查validation.js 以及billing.phtml 文件;无法弄清楚他覆盖的代码。除此之外,有没有办法覆盖验证?

标签: validation magento email email-validation php


【解决方案1】:

我找到了解决方案。 文件位置:模板/webtexgiftregisrty/billing.phtml

在电子邮件地址的字段框中,在类验证中插入字符串数据类型。

代码如下:

<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" />

【讨论】:

  • 感谢 Cherry,代码现在可以使用了!非常感谢。标记为答案!
猜你喜欢
  • 1970-01-01
  • 2021-08-02
  • 2017-08-21
  • 1970-01-01
  • 1970-01-01
  • 2019-04-21
  • 2017-02-23
  • 1970-01-01
  • 2023-04-05
相关资源
最近更新 更多