Infopath 2007 - Как выполнить проверку данных ТОЛЬКО в текущем представлении? - PullRequest
2 голосов
/ 17 сентября 2008

У меня есть форма infopath 2007, которую я разрабатываю и которая использует 3 разных представления.
3 разных вида в основном имеют одинаковую форму, но имеют разные текстовые поля, в зависимости от того, какую кнопку выбирает пользователь. Я столкнулся с проблемой, когда «представление 1» имеет некоторую проверку формы, но пользователь выбрал «представление 2» и отправляет его. Проверка формы в «представлении 1» запущена, и пользователь не может отправить форму. Как можно игнорировать проверку формы в «представлении 1», если пользователь в данный момент отправляет «представление 2»?

1 Ответ

2 голосов
/ 17 сентября 2008

Вместо того, чтобы ставить стандартный флажок «это поле не может быть пустым» (например), вам нужно вместо этого использовать правила проверки данных. Допустим, у вас есть два представления с текстовым полем в каждом, которое не может быть пустым, но вы хотите использовать только текущий вид. Вот структура формы:

поля:

  • currentView (число) (по умолчанию = 1)
  • text1 (текст) text2 (текст)
  • button1
  • button2

просмотр 1 (по умолчанию)

text1 - правило: если (currentView = 1 И text1 пусто), показать "не может быть пустым"

button1 - действие: установить значение поля (currentView = 2); переключить вид (на 2)

просмотр 2:

text2 - правило: если (currentView = 2 И text2 пусто), показать "не может быть пустым"

button2 - действие: установить значение поля (currentView = 1); переключить вид (на 1)

Имеет смысл?

Oisin

...