增加自定义邮编验证器

Magento 使用正则表达式来校验输入的 zipcode/postcode 是否正确。本文我们会添加自己的表达式来校验邮编。

所有的样板都在文件 vendor/magento/module-directory/etc/zip_codes.xml 中定义。

在你自己的模块中新建一个 zip_codes.xml 来添加样板。

这里我选择荷兰语,把 zip_codes.xml 添加到 Mageplaza\HelloWorld\etc 文件夹中。

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Directory:etc/zip_codes.xsd">
    <zip countryCode="NL">
            <codes>
                <code id="pattern_1" active="true" example="1234 AB">^[0-9]{4}\s[a-zA-Z]{2}$</code>
                <code id="pattern_2" active="true" example="1234AB">^[0-9]{4}\s?[a-zA-Z]{2}$</code>
            </codes>
        </zip>
</config>

pattern_2 除了允许用户输入空格字符以外,跟第一个是很相似的。

我写着两个例子是为了让你能看出不同之处。当应用于你的店铺时,第一个样板可以移除,样板 2 涵盖样板 1 的所有情况。

现在可以清除缓存,测试结果了。你将不会在看到这个提示。
结果

本教程翻译自Mageplaza模块开发系列,其他内容请点击下面链接: