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

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

Sandro

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

Код:
Continue=ws.DialogBox("f_plan",,,False,False,False,False,"Введите данные",doc,True,False,True)
мне необходимо проверить состояние полей и в случаене корректного заполнения , выдать месседж бокс и дать возможность дозаполнить форму .
Ни как не могу сообразить как это обработать. DialogBox после клика всё равно закрывается :)
 

Omh

Lotus team
04.07.2007
2 210
1
#2
Ну или на 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

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

Klido

#6
на 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

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

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

Omh

Lotus team
04.07.2007
2 210
1
#10
K-Fire
[off] Жёстко не люблю свои кнопки в диалогбоксах :newconfus:
 

susinmn

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

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
18
#12
вот и я гляжу и не понимаю, у вас что в диалогбоксе валидаторы не работают? :ph34r: