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

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

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

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

Валидация поля

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Как лучше делать валидацию вычисляемого поля ? Т.е. проверить на пустоту.
Есть три варианта:
1. Делать в QuerySave. Через MessageBox. Но там окошко слегка отличается. Плюс надо учитывать мультиязычность клиента. Т.е. чтобы было красиво, то делать сразу для всех полей.
2. Делать проверку в другом поле. Но курсор установится в него, если не пройдет валидация вычисляемого поля.
3. Сделать специальное скрытое поле, где и делать проверку. Поле не сохранять с документом.

По-моему третий вариант самый лучший. Поделитесь опытом. Есть ли другие способы ?
 
F

Fugitive

Расскажи поподробнее про третий вариант, пожалуйста.
Я тупо все в querysave делаю :)
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Есть вычисляемое поле MyField. Создаем редактируемое скрытое поле tmpValidation, где и пишем формулу валидации @If(@IsNull(MyField) & @IsDocBeingSaved; @Failure("Пусто"); @Success)
В QuerySave пишем, чтобы поле не сохранялось:
Код:
Dim ni As NotesItem
Set ni = Source.Document.GetFirstItem("tmpValidation")
ni.SaveToDisk = False
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
В tmpValidation можно сразу для нескольких полей прописать формулу валидации.
 
F

Fugitive

Спасибо ! Красивенько получилось ! :)
 
F

Fugitive

Кому интересна эта тема, нашел базу где человек играется с валидацией - по-моему очень неплохой пример там. :)
 
Мы в соцсетях:

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