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

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

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

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

Форма в Dialogbox- как проверить заполнение полей ?

  • Автор темы Sandro
  • Дата начала
S

Sandro

Добавляю респонс документ при помощи DialogBox

Код:
Continue=ws.DialogBox("f_plan",,,False,False,False,False,"Введите данные",doc,True,False,True)

мне необходимо проверить состояние полей и в случаене корректного заполнения , выдать месседж бокс и дать возможность дозаполнить форму .
Ни как не могу сообразить как это обработать. DialogBox после клика всё равно закрывается :)
 
O

Omh

Ну или на QueryClose в самой форме диалогбокса:
<!--shcode--><pre><code class='vb'>If Source.DialogBoxCanceled Then
'тут проверки
end if[/CODE]Или так:
<!--shcode--><pre><code class='vb'>Dim DlgDoc As NotesDocument
Set DlgDoc = db.CreateDocument
ShowDlg:
If ws.DialogBox("(FORM)",True, True, False, False, False, False, "TITLE", DlgDoc, True) Then
'если проверки не сработали then goto ShowDlg
End If[/CODE]

Первый вариант красивее, но сложнее дебажить.

Второй вариант можно реализовать с циклом вместо goto :)
 
A

amigolinx

по ходу еще и я спрошу: а на уровне самих полей и непосредственно при их заполнении низзя это делать? просто смотрю в дизайнере у поля есть какая-то "Проверка введенных данных" - шо это?
 
A

alik86

Dim DlgDoc As NotesDocument
Set DlgDoc = db.CreateDocument
ShowDlg:
If ws.DialogBox("(FORM)",True, True, False, False, False, False, "TITLE", DlgDoc, True) Then
'если проверки не сработали then goto ShowDlg
End If
Я тоже так делаю - вроде пока особых проблем не вылазило...
 
K

Klido

на QueryClose в самой форме диалогбокса
а мне пока так больше понравилось, только проверять надо на НЕ отмену диалога :)

Код:
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
If Not Source.DialogBoxCanceled Then
'если проверки не прошли то...			
continue=False
End If
End If
End Sub
 
K

K-Fire

В параметрах диалогбокса указываете не показывать кнопки. В самом диалог боксе делаете 2 красивые кнопки "ОК" и "Отмена".
На "ОК" вешаете все проверки какие надо.

Лучше варианта не найти :newconfus:
 
O

Omh

K-Fire
[off] Жёстко не люблю свои кнопки в диалогбоксах :newconfus:
 
S

susinmn

В input validation поля(например, проверка на заполненность)
@If(Поле= ""; @Return(@Failure("Укажите Хоть что-то! Ну, пожалуйста!")); "");
а на
Sub Queryclose(Source As Notesuidocument, Continue As Variant) формы, которую используешь для DialogBox пишешь Exit Sub
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
вот и я гляжу и не понимаю, у вас что в диалогбоксе валидаторы не работают? :ph34r:
 
Мы в соцсетях:

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