Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Документ Lotus Notes сохранен с отсутствующим полем для исправления

Автор вопроса: Sylvain CloutierОтветов: 2

Вот определение моей проблемы. У меня есть приложение Notes, которое открывает форму, используя формулу @DialogBox. В этой форме у меня есть поле, которое является обязательным для проверки ввода, используя эту формулу:

@If(NotificationTitle = ""; @Failure("The Title field is mandatory...") ; @Success)

Довольно просто?! Теперь проблема в том, КТО-ТО КТО-ТО ЧТО-ТО сделал и сохранил этот документ с пустым значением. У кого-нибудь есть идеи, как он мог это сделать? Я знаю эту замечательную фразу, которая гласит: "90% клиентов - идиоты", но как сохранить документ с пустыми полями для исправления? Проблема в том, что это пустое поле отключило все веб-приложение. Мы не хотим, чтобы это повторилось, поэтому мы, вероятно, добавим условие в столбец представления, чтобы показать что-то, когда оно пусто, но мне было интересно, как оно могло быть пустым.

Любая идея?

  • Молодец @giulo :) +1 Java Ka Baby 09.09.2011

documentsavelotus-notes

Ответы

Ответ 1 · рейтинг 1 · Ken Pespisa

Вы говорите, что это веб-приложение. Проверка ввода работает только на стороне клиента. Возможно, плохая ценность была добавлена ​​​​на стороне Интернета?

Кроме того, существует множество способов добавления значений в документ Notes без проверки ввода, которая срабатывает только при открытии формы. Примечания Агенты могут изменять значения предметов. Также можно настроить формулы смарт-значков для изменения значений полей. Есть ли шанс увидеть, кто внес изменения? Это помогло бы сузить его.

Ответ 2 · angryITguy

Судя по номинальной стоимости предоставленной вами информации, похоже, что данные вводятся исключительно через клиент Notes? Если это так, попробуйте повторно протестировать приложение и поставьте пробел в обязательном поле. Я подозреваю, что это пройдет и сохранит детали, потому что на самом деле это не пусто, пробел все еще является символом. Чтобы проверить "настоящие" пустые поля, попробуйте это

@If(@trim(NotificationTitle) = ""; @Failure("Поле Title является обязательным...") ; @Success)

Обратите внимание на формулу @trim в тесте условия, это очистит поле избыточных конечных и ведущих пробелов при выполнении проверки. Вы должны четко указывать пустые поля.

Однако, если пользователь вводит данные через Интернет, вам нужно будет добавить javascript для проверки этого на стороне клиента, и вы можете использовать агент "webquerysave" для проверки на сервере перед сохранением данных. В Интернете имеется довольно много информации об использовании агентов сохранения веб-запросов, несколько хороших источников можно найти здесь и здесь.

Наконец, проверьте свойство AutoReload и метод перезагрузки NotesUIdocument, так как есть неинтуитивное поведение для него.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы