Валидация телефона и проблемы с заказом Есть решение

Смотрю, многим нужно, чтобы в поле ввода телефона стояла маска, чтобы не вводились буквы а только цифры и было ограничение в количестве цифр.

Многие поставили халявный плагин с магазина и стали возникать проблемы с оформлением заказов.

Предлагаю вам нормальный простой метод сделать маску в поле телефона без всяких плагинов.

Скачайте скрипт здесь https://yadi.sk/d/L_WVMY3jhTzqN. Либо поищите в Яндексе jquery.maskedinput.min.js и скачайте его.

Скрипт нужно будет залить на ваш сайт в папку. Смотрите скрин - http://joxi.ru/v29dJQYunw80mG


На странице cart.html в самом вверху страницы разместите этот код.

<script type="text/javascript" src="/wa-data/public/site/js/jquery.maskedinput.min.js"></script>

<script>

jQuery(function($){

$("input[name='customer[phone]").mask("+7 (999) 999-99-99");

});

</script>


Вид маски настраивается в строчках выше .mask("+7 (999) 999-99-99"). Цифра 9 будет заменена на пустое поле.

В этом случае маска будет выглядеть так http://joxi.ru/BA0n4dYhaXLEmy

Ели вам нужен формат, например, _ (___) ___-__-__, то маска будет выглядеть так - 9 (999) 999-99-99 и т.д.

Надеюсь все понятно.

И да, убедитесь, что у вас подключен скрипт jquery http://joxi.ru/vAWRYD8InLvZ2W в файле index.html

18 ответов

  • 0
    km Партнер-разработчик 26 июня 2015 01:57 # Решение

    Или можно успеть поставить бесплатный плагин Форматирование и проверка телефона, который постоянно улучшается)

  • 1
    Константин Егоров 26 июня 2015 03:24 #

    Кирилл, так это ваш плагин?

    Вы почитайте тут 4-5 жалоб на то, что при установке плагина валидации телефона (и судя по всему это ваш плагин и есть) у людей перестали оформляться заказы.

  • 1

    Верное написание селектора: $("input[name='customer[phone]']")

    • 0
      Константин Егоров Константин Егоров 26 июня 2015 10:22 #

      Послушайте, Владислав.

      Вы (имею ввиду WA) пропустили в магазин плагин, который не тестировали. Либо тестировали тем местом, на котором сидите. Ибо если тестировали, то не было бы у людей проблем с пропадающими заказами. (Впрочем, такая ситуация не только с этим плагином. У меня их штук 30 и там каждый второй такой.)

      Я грешным делом решил хоть как-то исправить ситуацию и предложил свое решение, которое работает у меня. С инпутом промахнулся при копировании кода. Да. Моя ошибка. Но если бы кто-то написал о проблеме за полчаса бы исправился.

      И да, {$wa_url} ставить абсолютно не обязательно.


      • +2

        Мы не тестируем, мы проверяем соответствие нашим требованиям с упором на безопасность кода (которые некоторым кажутся чрезмерными) с номинальной проверкой. Это позволяет в большинстве случаев получить работоспособный код. А полноценное тестирование — задача разработчика, о чём собственно сказано в требованиях, причем 100% покрытие всех тестовых случаев — это недостижимый вариант идеалистов.

        Плохой/неработающий код сказывается на мнении о разработчике и отзывах о нём. Иногда это приводит к тому, что разработчик начинает тщательней проверять свои решения.

        Чего и вам рекомендую: поправить код в вашем топике, чтобы у людей, которые будут копировать строчку не было ошибок и необходимости разбираться с тем, почему оно не работает, а могли сразу сказать спасибо за решение. (Использование {$wa_url} во многих случаях занудство, но есть случаи, когда это нарушает работоспособность, как и в случае с проблемным плагином, который спотыкается при определенных настройках оформления заказов)

        • 0
          Константин Егоров Константин Егоров 26 июня 2015 11:16 #

          Ну и очень плохо, что вы не тестируете продукты, которые продаете и имеете с этого процент от продаж.

          "Номинальная проверка" - это что? Наличие кода в строках?

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

          Если Вы умеете пользоваться форумом, то наверняка знаете, что топики редактировать спустя какое-то время (не знаю, минут 10...) нельзя. Да и незачем. Если в селекторе, который ищет по инпуту и находит хотя бы часть совпадения (при условии, что нет других аналогичных инпутов, а их в WA нет), то он привяжется.

          Код рабочий - можете проверить. И не вводите людей в заблуждение!

          А мне рекомендовать ничего не надо. Я не разработчик (и в душе понятия не имею, откуда у меня зеленый ярлык "Разработчик"), я обычный пользователь Вашего продукта, который в связи со своими потребностями в развитии ИМ ищет различные решения и применяет их на практике.

          • +1

            Не соглашусь.

            Если плагины при модерации еще и будут полноценно тестировать, тогда проверка будет занимать грандиозное время. ИМХО, лучше, если нет явных косяков, выпустить и пускай люди пользуются. Таким образом охват всех возможных вариантов работы плагина будет гораздо шире. Если у кого-то что-то косячит - всегда можно написать разработчику и, если разработчик нормальный, он все быстро поправит. Да, увы .... сразу всего предусмотреть возможности нет =(

            Пы.Сы. Справедливости ради, хочется отметить скорость, с которой мой последний плагин прошел все этапы. Я в шоке, если честно. Модератору, который этим занимался, огромный респект за скорость и за новые знания =)))

            • +1
              Константин Егоров Константин Егоров 26 июня 2015 11:38 #

              Это больше Кириллу спасибо за то, что так быстро реагирует и вносит изменения.

              У него есть еще плагин "Кладр в облаке". Там тоже уже 2-3 новых релиза на этой неделе вышло.

              А есть такие разработчики, от которых ответы либо вообще не приходят, либо приходят через пару-тройку месяцев с какой-то глупой отпиской. У меня много плагинов и я знаю, о чем говорю.

              И в этом случае вам никакие модераторы не помогут. Именно поэтому нужно делать сразу нормально, с нормальным тестированием. А то, что "проверка будет занимать грандиозное время", так это только из-за того, что у WA в штате либо вообще нет тестировщика, либо его одного мало.

              Я в свое время занимался тестированием ПО. Если знаешь всю структуру, то протестировать и выявить ошибки в продукте - это дело максимум одного дня (учитывая тот уровень функциональности плагинов, которые находятся в магазине WA).

              В WA от силы плагинов 4-5 в месяц новых появляется, а то и меньше. Поверьте, это одному тестировщику в потолок 10 раз плюнуть, а не "грандиозное время".

              • +2

                В том то и дело ... "Если знаешь всю структуру", а плагины порой так пишутся, что черт ногу сломит. Фиг логику поймешь. Я, кстати, и про себе в том числе говорю. Я, когда пишу плагин, по началу не имею в голове полной структуры. Все "проявляется" в процессе. Понимаю, это, наверное, плохо. Но мне так удобнее =)

                И я оооочень не завидую модераторам, которым приходится вникать в чужой код =))

                • +1
                  Константин Егоров Константин Егоров 26 июня 2015 12:18 #

                  Ну так может не стоит писать плагины, если не знаешь, какие функции фреймворка и установленных на него приложения он может затронуть? :)

                  Логично же, что поле телефона влияет на все оформление целиком. Как минимум нужно проверить - приходит ли в админку заполненное поле с телефоном после установки на него плагина.

                  Тут сложного ничего нет. Под структурой я имею ввиду логику работы фреймворка и приложений (магазин, в честности, т.к. львиная доля плагинов и расширений для него сделаны).

                  • +1
                    alex3d alex3d 26 июня 2015 15:55 #

                    Если сейчас их выходит по 2-5 за месяц, то если вообще не писать их и не будет. Лучше уж как сейчас (а я , как заказчик, всего 2 плагина из 32 купленых забраковал). А второй забракованый быстро исправил ошибку. Так что ненадо нам модерации, цены плагинов не такие, как в том же битриксе, чтобы так париться из-за них

  • 2

    Всё дело в нюансах.

  • 1
    Ольга Александровна 20 февраля 2016 14:47 #
    На странице cart.html в самом вверху страницы разместите этот код.

    Может checkout.html - тогда всё работает!!!

  • 1
    ucollect4u 20 июля 2016 08:05 #

    Ну вот спугнули человека... так что можно "решено" убирать с вопроса... вообще эта проверка должна быть по умолчанию с функцией включить выключить в самом shop-script. плагин стоит 299 рублей никакой бесплатности нет, кроме того кто то из таких умников задолбал регистрировать аккаунты у меня в магазинах. вот дать бы ему в морду лично при встрече... но это потом.

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

    а само писателя взяли и оскорбили.... а между тем его оппонент получил преимущество и сейчас спокойно ввел плату за этот плагин... вы же понимаете что отсутствие конкурентных плагинов ведет к увеличению стоимости разных простых и тупых решений и "захерению" проекта webasyst в целом...

    Нового и умного не появляется, а современное дефакто тормозиться в развитии... спросите у этого горе продавца за 299 рублей есть у него всплывающее окошко в плагине... и я Вам 100 процентов гарантирую что он об этом даже не думал... потому что ему не надо думать продается и продается конкурентов не было и нет ))))) а люди включающие его плагин включают изображение нечистот на рекламе с Дженифер Лопес... клиент это видит и сваливает... проверка телефона это минус 25 процентов заказов... клиент нервный пошёл )))))


  • 1
    Gleb Borovikov 24 декабря 2016 18:00 #

    Автору поста спасибо, его метод работает.

    Но столкнулся с проблемой, что после валидации обязательных полей при незаполненном поле номер телефона маска перестает работать.

    Автор победил эту проблему?

  • 1

    Если использовать скрипт из первого сообщения темы, то появится очень неприятная проблема: если в базе данных сохранен номер с восьмеркой в начале и он подставляется автоматически, то при включении маски таким способом последняя цифра номера телефона будет обрезаться.

    Проблема решена в плагине "Нормальная маска телефона"

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите