Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 1153 Просмотров
*

Helikonst

  • Новичок
  • 2
  • 0 / 0
Уважаемые мэтры, помогите чайнику!

VM3, в корзине добавлено поле номера телефона phone_1 (в силу веских причин телефон в карточке покупателя хранить не могу, он должен заполняться при каждом заказе). Соответственно, в момент нажатия кнопки оформления заказа мне нужно произвести минимальную валидацию этого поля, проверить, что длина введенного значения составляет 11 знаков. Поле указано как обязательное, поэтому если оно пустое, VM выдает сообщение, что поле телефона не заполнено. Моя задача сделать так, чтобы такое же сообщение выдавалось и в случае, если введенное значение не содержит 11 знаков.

В файле /administrator/components/com_virtuemart/models/user.php отыскал следующий код, предполагаю, что валидацию нужно ставить где-то здесь:

if($field->required ){
            $required++;
            if(empty($data[$field->name])){
               if($lang->hasKey('COM_VIRTUEMART_MISSING_'.$field->name)){
                  $missingFields[] = vmText::_('COM_VIRTUEMART_MISSING_'.$field->name);
               } else {
                  $missingFields[] = vmText::sprintf('COM_VIRTUEMART_MISSING_VALUE_FOR_FIELD',$field->title );
               }

               $i++;
               $return = false;
            }
            else if($data[$field->name] == $field->default){
               $i++;
            } else {
               //vmdebug('Not filled by default '.$field->name,$field->default,$data[$field->name]);
               $filledNotByDefault++;
            }
         }

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

Может я вообще не туда копаю и все можно сделать как-то проще?
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
попробуйте маску
был плагин
индивидуальная помощь: @SetAlexx
*

Helikonst

  • Новичок
  • 2
  • 0 / 0
попробуйте маску
был плагин

Да, плагин для маски пробовал, конечно. Но дело в том, что заказ осуществляется на тачскрин-мониторе. Вместо клавиатуры используется плагин всплывающей клавиатуры, который привязан к этому же полю. Маска отлично работает при наборе с клавиатуры, но сбрасывается при нажатии любой клавиши экранного модуля. Подружить плагин маски и модуль экранной клавиатуры у меня тоже знаний не хватает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart -- создание заказа

Автор mindguru

Ответов: 3
Просмотров: 557
Последний ответ 02.11.2023, 13:59:05
от mindguru
Скачать - Плагин заказа на 1 странице

Автор gartes

Ответов: 171
Просмотров: 25570
Последний ответ 17.05.2023, 15:06:22
от mansonfaust
Отключить подтверждение заказа

Автор Nikoz

Ответов: 13
Просмотров: 10097
Последний ответ 20.01.2023, 13:48:07
от smls
Обязательные поля в плагине One Page Checkout

Автор sergspb

Ответов: 0
Просмотров: 1226
Последний ответ 18.11.2021, 13:59:59
от sergspb
Плагин отправки SMS - смена статусов заказа

Автор artlux

Ответов: 43
Просмотров: 11036
Последний ответ 20.03.2021, 14:03:13
от nnnata