Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Валидация email при регистрации


hagul

Recommended Posts

Добрый день!

При регистрации покупателей мыло проверяется на валидность.

В стандартной сборке опенкарт стоит запрет на использование в email дефиса - т.е. "[email protected]" (запрещено).

Точка и подчеркивание проходит, а дефис нет.

Вот проверку на дефис нужно убрать.

Сейчас в регулярном выражении стоит:

$pattern = '/^[A-Z0-9._%-+]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z]{2,6}$/i';

Как поправить?

Надіслати
Поділитися на інших сайтах


Решено.

Нужно в файлах

catalog/controller/account/create.php

catalog/controller/account/edit.php

catalog/controller/checkout/guest_step_1.php

catalog/controller/information/contact.php

catalog/model/checkout/order.php

admin/controller/sale/customer.php

admin/controller/sale/order.php

admin/controller/setting/setting.php

install/controller/step_3.php

Заменить условие

$pattern = '/^[A-Z0-9._%-+]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z]{2,6}$/i';
на

$pattern = '/^[A-Z0-9._%+-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z]{2,6}$/i';
Надіслати
Поділитися на інших сайтах


Решено.

Нужно в файлах

catalog/controller/account/create.php

catalog/controller/account/edit.php

catalog/controller/checkout/guest_step_1.php

catalog/controller/information/contact.php

catalog/model/checkout/order.php

admin/controller/sale/customer.php

admin/controller/sale/order.php

admin/controller/setting/setting.php

install/controller/step_3.php

Заменить условие

$pattern = '/^[A-Z0-9._%-+]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z]{2,6}$/i';
на

$pattern = '/^[A-Z0-9._%+-]+@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z]{2,6}$/i';
Обычно допускаются символы:

подчёркивание

тире

точка

остальное лишнее...

примерно так:

$pattern = '|^([a-z0-9_\.\-]{1,40})@([a-z0-9\.\-]{1,61})\.([a-z]{2,6})|is';
Надіслати
Поділитися на інших сайтах

system\startup.php EMAIL_PATTERN заменяешь и не мучаешься с каждым файлом

в 1.4.9.1 такой переменной в startup.php нет. Так что редактировать нужно все перечисленные ранее файлы.

Надіслати
Поділитися на інших сайтах


Обычно допускаются символы:

подчёркивание

тире

точка

остальное лишнее...

Символ процентов и плюс тоже могут использоваться, если mail-админ замутит какую-нибудь хрень. Но в реальной жизни я такого ещё не встречал.

примерно так:

$pattern = '|^([a-z0-9_\.\-]{1,40})@([a-z0-9\.\-]{1,61})\.([a-z]{2,6})|is';
Внутри квадратных скобок символы не экранируются, вы просто добавили обратный слэш в список допустимых символов.
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.