• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

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

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Сообщение об ошибке

  • Автор темы DNT
  • Дата начала
D

DNT

Эта формула находится в вычисляемом поле:

@If(@Middle(PrefixNew;0;2) = "80";
Prefix2 := @Middle(PrefixNew;0;1) + "-" + @RightBack(PrefixNew;1);
@Middle(PrefixNew;0;3) = "810";
Prefix2 := "8-10-" + @RightBack(PrefixNew;3);
@Return(@Prompt([Ok];"Телефонный код введен неправильно";"Код должен начинаться с '80' либо '810' !!! ")));

т.е. я привожу код города к формату 8-0... или 8-10-..., если код не начинается с этих цифр то выдаю сообщение об ошибочном вводе.

Вопрос:
почему сообщение об ошибке выпрыгивает дважды? Один раз клацнул "ОК" и тут-же еще одно сообщение.

Спасибо за ответ.
 
O

oshmianski

Для: DNT
а сколько значений в поле PrefixNew?
 
D

DNT

Для: oshmianski

Не понял вопроса? Одно значение. Например: "050"
 
O

Ogion7

сделал поле PrefixNew, кнопку с таким же кодом. Один раз сообщение выдается.
 
D

DNT

Для: Ogion7

Вот чуть поправил и вставил в Input Translation поля Prefix:

PrefixNew := @Trim(@Implode(@Explode(Prefix;"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ?!@#$%^&*_+=[]{}|\"<>,.';:D)/\\- ";0);""));

@If(@Middle(PrefixNew;0;2) = "80";
@Return(@Middle(PrefixNew;0;1) + "-" + @RightBack(PrefixNew;1));
@Middle(PrefixNew;0;3) = "810";
@Return("8-10-" + @RightBack(PrefixNew;3));
@Return(@Prompt([Ok];"Телефонный код введен неправильно";"Код должен начинаться с '80' либо '810' !!! ")))

все равно, ..., два раза прыгает... :D
 
O

Ogion7

а может код еще где-нибудь лежит? в валидации например...
 
30.05.2006
1 345
12
BIT
0
Вопрос: [/b]почему сообщение об ошибке выпрыгивает дважды? Один раз клацнул "ОК" и тут-же еще одно сообщение.
1.А что у вас на кнопке OK?
2.Не то место для сообщений валидации юзаете.
Правильно:
Validation formula-ы редактируемых полей (на кой юзеру сообщать, что ошибка в ВЫЧИСЛЯЕМОМ поле?? Все равно исправить нельзя)
QuerySave event формы
 
D

DNT

Всем спасибо, разобрался. На событие QuerySave спрятался source.refresh. Вот из-за него и весь сыр-бор возник.

З.Ы. Вот так вот всегда: легче БД лепить счистого листа, чем заниматься доделками не своих баз.
 
Мы в соцсетях:

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