Не обязательное поле Email в версии 4

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

seo-deluxe.ru
seo-deluxe.ru
Репутация: 2
Сообщения: 35
Зарегистрирован: 20.04.2019
С нами: 4 года 10 месяцев

Сообщение #1 seo-deluxe.ru » 02.06.2021, 07:17

Ребята помогайте. Все уже перепробовал. Валидацию отключаю в scripts.tpl, так же убираю сообщения об ошибке в cart.tpl.
Все делаю, но вылетает ошибка empty_email.
Собственно сам вопрос, где это валидация еще спрятана? Все перековырял, не могу найти.

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #2 korshunov » 02.06.2021, 07:57

Возможно, в Okay/Helpers/ValidateHelper.php

А вообще надо хоть чуть заботиться о понятности вопроса. Если пишете "вылетает ошибка empty_email", то надо указывать хотя бы, на какой странице...

nyc-xp
nyc-xp
Репутация: 3
Сообщения: 59
Зарегистрирован: 26.02.2021
С нами: 3 года

Сообщение #3 nyc-xp » 02.06.2021, 08:47

seo-deluxe.ru писал(а):Ребята помогайте. Все уже перепробовал. Валидацию отключаю в scripts.tpl, так же убираю сообщения об ошибке в cart.tpl.
Все делаю, но вылетает ошибка empty_email.
Собственно сам вопрос, где это валидация еще спрятана? Все перековырял, не могу найти.

еще вариант - бесплатный модуль установить
https://okay-cms.com/products/simplamarket_email_not_required

seo-deluxe.ru
seo-deluxe.ru
Репутация: 2
Сообщения: 35
Зарегистрирован: 20.04.2019
С нами: 4 года 10 месяцев

Сообщение #4 seo-deluxe.ru » 03.06.2021, 07:00

Не работает этот модуль.

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #5 korshunov » 03.06.2021, 07:29

У меня прекрасно работает...

nyc-xp
nyc-xp
Репутация: 3
Сообщения: 59
Зарегистрирован: 26.02.2021
С нами: 3 года

Сообщение #6 nyc-xp » 03.06.2021, 08:23

seo-deluxe.ru писал(а):Не работает этот модуль.
На 4.0.3 - работает точно
Возможно Вы вносили какие то перемены в сайте, которые не дают этому модулю работать.
Или попробуйте после установки модуля, весь кеш почистить

Sergey
Sergey

Сообщение #7 Sergey » 17.06.2021, 08:04

Тот же вопрос, только: как включить валидацию на строку номера телефона?
В последнее время клиенты забывают указать контактный номер.
Странно, что это поле есть НЕ обязательным.
Подскажите, как поправить?
Версия 4.0.2

Inclinatio
Inclinatio
Репутация: 2
Сообщения: 14
Зарегистрирован: 02.12.2017
С нами: 6 лет 3 месяца

Сообщение #8 Inclinatio » 17.06.2021, 21:42

Отключаем обязательный email, делаем обязательным поле номер телефона
Актуально для версии 4.0.5

1) Идем /design/ВАШАТЕМА/html/scripts.tpl

Ищем:

Код: Выделить всё

if($(".fn_validate_cart").length>0

Меняем то что ниже этой строчки (условие if) на:

Код: Выделить всё

        $(".fn_validate_cart").validate({
            rules: {
                name: "required",
                phone: "required",
                email: {
                 //   required: true,
                    email: true
                },
                captcha_code: "required"
            },
            messages: {
                name: form_enter_name,
                phone: form_enter_phone,
                // email: form_enter_email,
                captcha_code: form_error_captcha
            }
        });


2) Идем /Okay/Helpers/ValidateHelper.php
Меняем

Код: Выделить всё

elseif (!$this->validator->isEmail($order->email, true))

На

Код: Выделить всё

elseif (!$this->validator->isEmail($order->email))

Меняем

Код: Выделить всё

elseif (!$this->validator->isPhone($order->phone))

На

Код: Выделить всё

elseif (!$this->validator->isPhone($order->phone, true))



3) Идем /design/ВАШАТЕМА/html/cart.tpl

Меняем

Код: Выделить всё

<span class="form__placeholder">{$lang->form_phone}</span>

На

Код: Выделить всё

<span class="form__placeholder">{$lang->form_phone}*</span>

Меняем

Код: Выделить всё

<span class="form__placeholder">{$lang->form_email}*</span>

На

Код: Выделить всё

<span class="form__placeholder">{$lang->form_email}</span>

Sergey
Sergey

Сообщение #9 Sergey » 19.06.2021, 11:12

Возможно эти изменения перекачуют в версию 4.0.6 и просто дождаться обновы?

irekunenko
irekunenko
Репутация: 0
Сообщения: 8
Зарегистрирован: 30.09.2021
С нами: 2 года 5 месяцев

Сообщение #10 irekunenko » 09.11.2021, 13:42

Sergey писал(а):Возможно эти изменения перекачуют в версию 4.0.6 и просто дождаться обновы?
В 4.1.1 модуль работает
Если не получится запустить - маякните

SergeyURA
SergeyURA
Репутация: 0
Сообщения: 1
Зарегистрирован: 11.04.2022
С нами: 1 год 11 месяцев

Сообщение #11 SergeyURA » 11.04.2022, 16:39

4.3.0 тоже работает.

Возможно кто-то подскажет как реализовать такую "маску"? "+380 (__) ___-__-__" только чтобы она проверяла правильность ввода и когда ошибся и стер цифру, то она оставалась

Matfak
Matfak

Сообщение #12 Matfak » 15.04.2022, 14:40

Є скрипт inputmask
Виглядає він приблизно так

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.1.62/jquery.inputmask.bundle.js"></script>
<script>
$(document).ready(function() {
$('#mobil_phone').inputmask("+38 (999) 999-99-99");
});
</script>

але як прикрутити його до Оkay я не знаю.

dimitriy
Аватара
dimitriy
Репутация: 4
Сообщения: 92
Зарегистрирован: 26.06.2016
С нами: 7 лет 8 месяцев

Сообщение #13 dimitriy » 06.12.2022, 07:13

вот респект, еще не пробовал, но обязательно попробую.
так как емэйл мало актуальная тема, а телефон куда актуальней ( у всех whatsapp)

Matfak
Matfak
Репутация: 5
Сообщения: 8
Зарегистрирован: 15.04.2022
С нами: 1 год 11 месяцев

Сообщение #14 Matfak » 19.12.2022, 07:40

Якщо вдасться поджужити з Оkay, поділіться з класом :)

Vanger M
Vanger M
Репутация: 5
Сообщения: 31
Зарегистрирован: 08.06.2016
С нами: 7 лет 9 месяцев

Сообщение #15 Vanger » 31.08.2023, 19:33

Код: Выделить всё

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.maskedinput/1.4.1/jquery.maskedinput.min.js" integrity="sha512-d4KkQohk+HswGs6A1d6Gak6Bb9rMWtxjOa0IiY49Q3TeFd5xAzjWXDCBW9RS7m86FQ4RzM2BdHmdJnnKRYknxw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
<script>
$('.mask-phone').mask('+38(999)999-99-99');
$('input[name="phone"]').mask("+38(999)999-99-99");
$('input[name="callback_phone"]').mask("+38(999)999-99-99");
</script>

Matfak
Matfak
Репутация: 5
Сообщения: 8
Зарегистрирован: 15.04.2022
С нами: 1 год 11 месяцев

Сообщение #16 Matfak » 14.09.2023, 06:01

Код: Выделить всё

<!-- mask-phone -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.1.62/jquery.inputmask.bundle.js" type="text/javascript"></script>
<script>
jQuery(function($){
  $('input[name="phone"]').inputmask("+38 (999) 999-99-99");
  $('input[name="callback_phone"]').inputmask("+38 (999) 999-99-99");
});
</script>
<!-- mask-phone -->

Можна добавити в "лічильники та коди"


Название раздела: Полезные решения для OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Полезные решения для OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 2 гостя