Jump to content

Проблема с индексом в адресе покупателя


Recommended Posts

Добрый день!

 

Не могу победить проблему. В бэкофисе (Localization-Countries) поле индекса оставляю пустым, чтобы он не проверялся. Однако при вводе индекса покупателем поле подсвечивается красным, если в нем присутствуют буквы. При этом сохранить такой адрес позволяет.

 

Пробовал применить решение из этой темы — https://www.prestashop.com/forums/topic/465238-prestashop-16-zippostal-code-error/ — результата нет.

 

Отключить поле индекса совсем не могу, т.к. оплата принимается через PayPal, и без него оплата не проходит.

 

Prestashop 1.6.1.1

Шаблон Warehouse 3.6.2 (лицензионный)

Страна — UK (индекс может содержать буквы и цифры, но единого шаблона для всей Великобритании нет)

Опробовано в Chrome, Internet Explorer, Opera.

 

Буду рад любой помощи. Спасибо.

post-836203-0-37476400-1444731130_thumb.png

post-836203-0-36172500-1444731134_thumb.png

post-836203-0-59997800-1444731139_thumb.png

post-836203-0-32189900-1444731143_thumb.png

Link to comment
Share on other sites

Думаю, надо посмотреть где именно вызывается проверка на валидность ZIP/Postal code и либо добавить свою проверку с учетом букв, либо переопределить в классе Validate.php соответствующую функцию:

/**
     * Check for postal code validity
     *
     * @param string $postcode Postal code to validate
     * @return bool Validity is ok or not
     */
    public static function isPostCode($postcode)
    {
        return empty($postcode) || preg_match('/^[a-zA-Z 0-9-]+$/', $postcode);
    }

    /**
     * Check for zip code format validity
     *
     * @param string $zip_code zip code format to validate
     * @return bool Validity is ok or not
     */
    public static function isZipCodeFormat($zip_code)
    {
        if (!empty($zip_code)) {
            return preg_match('/^[NLCnlc 0-9-]+$/', $zip_code);
        }
        return true;
    }
Link to comment
Share on other sites

 

Думаю, надо посмотреть где именно вызывается проверка на валидность ZIP/Postal code и либо добавить свою проверку с учетом букв, либо переопределить в классе Validate.php соответствующую функцию

 

Спасибо большое за подсказку, Алекс! Я действительно пытался найти в этом файле, но безуспешно. Решение нашел здесь — (https://www.prestashop.com/forums/topic/99240-invalid-postcode-error/?do=findComment&comment=2157731). Теперь работает.

 

in /js/validate.js

 

Modify line 125:

pattern = '[a-z 0-9-]+';

to

pattern = '[A-Z 0-9-]+';

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...