12.03.2004, 16:40 | #1 |
Участник
|
Заполнение обязательных полей в форме
Столкнулся с необходимость проверять заполение пользователем обязательных полей в форме Contact Card (контакты).
Путем простой вставки ф-ции типа CheckNecessaryFields в триггер OnInsert таблицы Contact либо формы проблему не решить. Ибо запись вставляется изначально с пустыми полями а потом юзер уже дозаполняет необходимую инфу. Добавление кода в триггер OnModify - тоже проблемы не решает - ибо мог вставить а затем сразу перейти на следующую запись без заполнения (в этом случае триггер не отрабатывает). Единственное на что можно повесить проверку - так это на закрытие формы - тут все будет работать. Но что делать когда юзер переходит на следующую запись, выбирает запись из списка (F5) и переходит на нее, вставляет новую запись и переходит на следующую не заполняя обязательных полей? Менять св-во DelaiInserted на True нельзя в этом случае. Может кто подскажет наменее кривой путь решения проблемы? |
|
15.03.2004, 10:30 | #2 |
Участник
|
А имзенение значения свойства Mandatory у поля, используемой таблицы Вам не поможет?
|
|
15.03.2004, 12:26 | #3 |
Участник
|
Если я правильно понимаю, и речь идет об Attain, то есть свойство поля таблицы NotBlank, которое все решает.
|
|
15.03.2004, 12:34 | #4 |
Участник
|
Так это таки Attain))
А то думаю, что так все сложно. В принципе, Pasha предлагает аналогичный метод решения, только средствами Attain. В другой раз внимательнее читать буду. |
|
15.03.2004, 13:32 | #5 |
Участник
|
св-во notblank не работает при вставке новой записи. к тому же задача усложняется еще и тем что для одних контактов (компаний) обязательными должны быть одни поля а для других (людей) - другие.
|
|
16.03.2004, 10:27 | #6 |
Участник
|
Можно повесить проверку на форму, на триггер OnBeforePutRecord - если нужное поле пусто, генерировать ERROR
|
|
16.03.2004, 14:46 | #7 |
Участник
|
Переопределил триггеры OnFindRecord и OnNextRecord и добавил пару проверок - вроде все работает. Все остальные способы к желаемому эффекту не привели.
|
|