Infopath 2007 - Как мне выполнить проверку данных ТОЛЬКО в текущем представлении?
-
09-06-2019 - |
Вопрос
У меня есть форма infopath 2007, которую я разрабатываю, которая использует 3 разных представления.
3 разных представления в основном представляют собой одну и ту же форму, но имеют разные текстовые поля, в зависимости от того, какую кнопку выберет пользователь.Я сталкиваюсь с проблемой, когда "вид 1" имеет некоторую проверку формы, но пользователь выбрал "вид 2" и отправляет его.Запускается проверка формы в "представлении 1", и пользователь не может отправить форму.Как я могу проигнорировать проверку формы в "представлении 1", если пользователь в данный момент отправляет "представление 2"?
Решение
Вместо того чтобы устанавливать стандартный флажок "это поле не может быть пустым" (например), вам нужно вместо этого использовать правила проверки данных.Допустим, у вас есть два представления с текстовым полем в каждом, которое не может быть пустым, но вы хотите применить только текущее представление.Вот структура формы:
поля:
- currentView (номер) (по умолчанию = 1)
- текст1 (текст) текст2 (текст)
- кнопка 1
- кнопка 2
вид 1 (по умолчанию)
текст1 - правило:if (currentView = 1 И text1 пустой) показывает "не может быть пустым"
кнопка 1 - действие:задайте значение поля (currentView = 2);переключить виды (на 2)
вид 2:
текст2 - правило:if (currentView = 2 И text2 пустой) показывает "не может быть пустым"
кнопка 2 - действие:задайте значение поля (currentView = 1);переключить вид (на 1)
Есть смысл?
Ойсин