forum.bitel.ru
http://forum.bitel.ru/

скрипт проверки ввода в Типе Телефон параметра договора
http://forum.bitel.ru/viewtopic.php?f=19&t=5871
Страница 1 из 1

Автор:  madmax [ 08 сен 2011, 11:37 ]
Заголовок сообщения:  скрипт проверки ввода в Типе Телефон параметра договора

Взяли пример из wiki который работает для типа параметра "Текст.поле" но выдает ошибку в типе поля "Телефон"
Как можно сделать проверку на введенные данные для типа поля Телефон?

Код:
import java.util.*;
 
PHONE_PARAM_ID        = 4;
PHONE_PARAM_RE_HOME   = "[0-9]{1}-[0-9]{2}-[0-9]{2}";
PHONE_PARAM_RE_MOBILE = "\\+7 \\([0-9]{3}\\) [0-9]{3}-[0-9]{2}-[0-9]{2}";
 
paramId = event.getParamId();
value   = event.getValue();
 
if (paramId == PHONE_PARAM_ID) {
    PHONE_LENGTH = value.length();
    if (PHONE_LENGTH > 0) {
        if (PHONE_LENGTH <= 7) {
            if (!value.matches(PHONE_PARAM_RE_HOME)) {
                event.setError("Неверно записан номер домашнего телефона!\nНомер должен быть записан в формате: 1-12-12");
                return;
            }
        } else if (PHONE_LENGTH >= 10 && PHONE_LENGTH <= 18) {
            if (!value.matches(PHONE_PARAM_RE_MOBILE)) {
                event.setError("Неверно записан номер мобильного телефона!\nНомер должен быть записан в формате: +7 (123) 123-12-12");
                return;
            }
        } else {
            event.setError("Не надо писать что попало!");
            return;
        }
    }
}

Автор:  skyb [ 08 сен 2011, 11:55 ]
Заголовок сообщения:  Re: скрипт проверки ввода в Типе Телефон параметра договора

Ищёб версию и ошибку какую выдает?

Автор:  madmax [ 08 сен 2011, 12:09 ]
Заголовок сообщения:  Re: скрипт проверки ввода в Типе Телефон параметра договора

версия 5,1 ошибка такая
Error in method invocation: Method length() not found in class'bitel.billing.server.contract.bean.ContractPhoneParamValue'

Автор:  skn [ 08 сен 2011, 12:14 ]
Заголовок сообщения:  Re: скрипт проверки ввода в Типе Телефон параметра договора

Если у вас тип параметра "телефон"
то event.getValue возвращает не объект типа String и вообще для этого пипа параметра такой скрипт не нужен
для параметров этого типа проверки и форматирование уже защиты в код (например длина номера строго 11 символов)

в вашем случае лучше изменить тип параметра на ТЕКСТ или разобраться с настройками параметра типа ТЕЛЕФОН

Автор:  madmax [ 08 сен 2011, 12:31 ]
Заголовок сообщения:  Re: скрипт проверки ввода в Типе Телефон параметра договора

объясню что требуется.
Тип параметра телефон нас всем устраивает, но проблема в том что менеджеры заносят телефоны начиная с цифры 8, а нам требуется чтобы обязательно телефон начинался с цифры 7. Вот мы и хотим запретить вводить первую цифру 8.

Автор:  skn [ 08 сен 2011, 12:39 ]
Заголовок сообщения:  Re: скрипт проверки ввода в Типе Телефон параметра договора

ну тогда вам надо сочинять новый скрипт...

из эвента получать ContractPhoneParamValue из него доставать номера PhoneParamItem (их может быть несколько)
проверять каждый номер и при необходимости заменять 8 на 7 (без вывода сообщений пользовотелю)

Автор:  madmax [ 08 сен 2011, 12:45 ]
Заголовок сообщения:  Re: скрипт проверки ввода в Типе Телефон параметра договора

ок спасибо. Понял в каком направлении действовать

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/