scary.png Happy Halloween! Лови жутко страшный список шаблонов и модулей со скидками.
Jump to content
Sign in to follow this  
ADZ

только english в имя и фамилия

Recommended Posts

Подскажите, может кто сталкивался...

при регистрации, быстром или гостевом заказе, есть проверка поля email на *@*.* (и делается это, как я понял, на уровне php). Можно ли как-то запустить аналогичную проверку на ввод имя, фамилии, адреса доставки только на английском языке ??? Чтоб вместо Ваня можно было писать в поле только Ivan, а вместо Москва только Moscow (или Moskva) и т.д. 

спасибо!

Share this post


Link to post
Share on other sites

Да, можно добавить регулярку либо со стороны JS сразу при наборе текста в поле, либо со стороны сервера, чтобы возвращал ошибку когда попытаются уже оформить. А можно добавить оба варианта

Share this post


Link to post
Share on other sites

Я считаю, что проверку на кириллические симвлы лучше сделать на JS в шаблоне, а выбор города организовать в виде впадающего списка, сформированного на сервере.

Share this post


Link to post
Share on other sites

@esculapra с городом это вы погорячились

а проверку введенных данных всегда нужно проверять на сервере, а не на клиенте.

JS только помешает их ввести, но не запретит их отправить

Share this post


Link to post
Share on other sites
1 минуту назад, openprice сказал:

с городом это вы погорячились

а проверку введенных данных всегда нужно проверять на сервере, а не на клиенте.

JS только помешает их ввести, но не запретит их отправить

Во-первых, предустановленный список городов - это нормальная практика.

В-вторых. если использовать для отправки кнопку с типом button а не submit, и организовать проверку на коректность ввода, то форма не отправится.

Share this post


Link to post
Share on other sites
1 час назад, openprice сказал:

@esculapra с городом это вы погорячились

а проверку введенных данных всегда нужно проверять на сервере, а не на клиенте.

JS только помешает их ввести, но не запретит их отправить

валидировать реквест можно и нужно и на стороне сервера и фронта

Share this post


Link to post
Share on other sites

@stickpro полностью согласен

Share this post


Link to post
Share on other sites
Posted (edited)

в некоторых OC3-файлах вижу такое

if ((utf8_strlen($this->request->post['email']) > 96) || !filter_var($this->request->post['email'], FILTER_VALIDATE_EMAIL))

как я понял, "FILTER_VALIDATE_EMAIL" это проверка на "шаблон" почты на уровне php... может можно так-же как-то проверять на A-Za-z ?    

 

У доп. полей, если их создавать, ведь есть возможность указывать проверку regex'ом типо [A-Za-z], по сути получается, что такую же проверку можно дописать как-то и для имени, фамилии, а для адреса добавить еще цифры, точки, запятые и пробелы ?

Edited by ADZ

Share this post


Link to post
Share on other sites

Можно и нужно. Делается регулярными выражениями. Я об этом в самом начале говорил

Share this post


Link to post
Share on other sites

Подскажите, правильна ли запись будет тогда для  /catalog/controller/account/register.php ? (примерно 220 строки)

вместо

	private function validate() {
		if ((utf8_strlen(trim($this->request->post['firstname'])) < 1) || (utf8_strlen(trim($this->request->post['firstname'])) > 32)) {
			$this->error['firstname'] = $this->language->get('error_firstname');
		}

надо дописать проверку для имен типа "Ivan Petrovich" вида

preg_match('/[^A-Z a-z\s]+/msi',$this->request->post['firstname']

и получится что-то вроде

	private function validate() {
		if ((utf8_strlen(trim($this->request->post['firstname'])) < 1) || (utf8_strlen(trim($this->request->post['firstname'])) > 32) || !preg_match('/[^A-Z a-z\s]+/msi',$this->request->post['firstname']) ) {
			$this->error['firstname'] = $this->language->get('error_firstname');
		}

Надо ли preg_match брать в скобки ?? и мне же для праверки на ошибку нужно, значит вроде как !preg_match... как обратное

спасибо

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By valerykurak
      Здравствуйте. Есть обычная контактная форма в ней несколько select'ов. Образование, страна, регион. Поля образований хранятся прямо в самой форме. Можно ли сделать страна регион как в админ панели опенкарт к примеру при добавления адреса покупателя?
    • By asd1992
      Здравствуйте, в каталоге товаров здесь https://test.miturbo.ru/category/xiaomi-redmi-note-8
      Нужно вывести код товара. Как мне это сделать? В БД есть таблица oc_product
      и в этой таблице есть значение model в этом значении есть код товара у каждого товара.

      Мне нужно вывести код товара этот. но просто вот так: <span>{{ model }}</span> не получается.
      А в product.twig <span>{{ model }}</span> вот так получается.

      За вывод этой страницы https://test.miturbo.ru/category/xiaomi-redmi-note-8 отвечает файл category_grid.twig . Если в этот файл добавить <span>{{ model }}</span> то нечего не получится, а если в product.twig то получится. {{ model }} означает код товара. Как мне сделать так чтобы в category_grid.twig тоже получалось к каждому товару выводить свой код товара.

      Это мне из БД как то вытаскивать или нет? Если уже выводить из БД то нужно сделать так чтобы к каждому товару свой код товара подходящий выводился, а не у всех товаров был одинаковый код товара.

      Буду очень благодарен.
    • By Wyachik2
      Здравствуйте! Возникла проблема, есть файл который должен импортировать товары в mysql. Это он и делает но созданные товары не отображаются в админке. Помогите с решением
      createCartProd.php
    • By valerykurak
      Здравствуйте, получается вывести лишь один элемент из mysql таблицы  с помощью php и sql запроса, как на opencart вывести абсолютно все элементы?
    • By Max_
      Добрый день! Возник вопрос. Как вывести Опции товара(у меня название цвета) имея такой код модуля. Я новичок в этом, но без опций товара модуль бесполезен.
      Если коротко, то модуль присылает информацию о заказе в телеграм. Скриншот, как это выглядит - прикрепил.
      Файл с приложеным кодом имеет путь \catalog\controller\extension\module\файл.php
       
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.