Автор Тема: HTML5 почему не работает атрибут pattern в <input  (Прочитано 2045 раз)

16 Апрель 2021, 14:42:43
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Prestashop front-end
    • Просмотр профиля
    • Что такое остеопатия
Привет. Presta 1.6
Столкнулcя с такой проблемой. Внес HTML тег pattern  в <input>. Постоянно показывает об ошибке. Тег не работает.

Вот сам код: <input type="text" pattern="[А-Яа-яЁё]\s" class="is_required validate form-control" data-validate="isName" id="firstname" name="firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{/if}" />


pattern="[А-Яа-яЁё]\s" - допускается Кирилица и пробелы.
Внес тег так как боты отключают JS. Регистрируются на Латинице, типа. Спам. Решил через HTML закрутить гайки (Есть капча у меня на сайте, но без JS не работает)

У меня ошибка при регулярки pattern. Пробовал самые простые, всё равно ошибка. Прикрепил файл.

Неужели Presta 1.6 не поддерживает HTML5

Суть была такая чтоб установить регулярку на Имя и Фамилия только кириллические символы
Интернет магазин электрокаминов https://kaminflame.ru и много других проектов. Разработка, реклама, SEO. Все по остеопатию https://100letlife.com
16 Апрель 2021, 21:32:38
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Это не prestashop, smarty выдает ошибку.
В теги {literal} оберните ваш input.
19 Апрель 2021, 13:35:26
Ответ #2
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Prestashop front-end
    • Просмотр профиля
    • Что такое остеопатия
После того как обернёшь {literal} {/literal}, в input попадает функция. Вот такой скриншот.

Мой код обернул 2 imput Имя и Фамилия:
           {literal}<div class="required form-group">
            <label for="customer_firstname">{l s='First name'} <sup>*</sup></label>
            <input onkeyup="$('#firstname').val(this.value);" type="text" class="is_required validate form-control" data-validate="isName" id="customer_firstname" name="customer_firstname"  placeholder="Имя" pattern="[А-Яа-яЁё]" value="{if isset($smarty.post.customer_firstname)}{$smarty.post.customer_firstname}{/if}" />
         </div>
         <div class="required form-group">
            <label for="customer_lastname">{l s='Last name'} <sup>*</sup></label>
            <input onkeyup="$('#lastname').val(this.value);" type="text" class="is_required validate form-control" data-validate="isName" id="customer_lastname" name="customer_lastname"  placeholder="Фамилия" pattern="[А-Яа-яЁё]" value="{if isset($smarty.post.customer_lastname)}{$smarty.post.customer_lastname}{/if}" />
         </div>{/literal}
Интернет магазин электрокаминов https://kaminflame.ru и много других проектов. Разработка, реклама, SEO. Все по остеопатию https://100letlife.com
19 Апрель 2021, 16:11:54
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
У вас там переменные smarty в форме, поэтому нельзя всю форму заключать в literal.
Оборачиваете только те переменные, которые вы хотите исключить из обработки шаблонизатором.
Например так
{literal}pattern="[А-Яа-яЁё]"{/literal}
20 Апрель 2021, 03:05:34
Ответ #4
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Prestashop front-end
    • Просмотр профиля
    • Что такое остеопатия
Заработало.

Единственное поменял регулярку на ^[А-Яа-яЁё\s]+$ - любое слово на латинице

Почему-то у меня не все примеры Имя на кириллице прошли на этой переменной [А-Яа-яЁё]

Спасибо Большое
Интернет магазин электрокаминов https://kaminflame.ru и много других проектов. Разработка, реклама, SEO. Все по остеопатию https://100letlife.com
20 Апрель 2021, 05:06:41
Ответ #5
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Prestashop front-end
    • Просмотр профиля
    • Что такое остеопатия
К сожаление боты продолжают регистрироваться.
javascrit правило не помогло, HTML тег тоже не помог.
Модуль eicaptcha - reCAPTCHA не работает с отключенным js

Есть какие методы отмахаться от ботов регистраторов?
Интернет магазин электрокаминов https://kaminflame.ru и много других проектов. Разработка, реклама, SEO. Все по остеопатию https://100letlife.com
20 Апрель 2021, 11:14:40
Ответ #6
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!