Infopath 2007-如何仅在当前视图上执行数据验证?

时间:2020-03-05 18:57:15  来源:igfitidea点击:

我有一个正在开发的infopath 2007表单,它使用3种不同的视图。
这3个不同的视图基本上是相同的表单,但是根据用户选择的按钮显示了不同的文本框。
我遇到一个问题,其中"视图1"具有某种形式的验证,但是用户选择了"视图2"并提交了它。触发"视图1"上的表单验证,并且用户无法提交表单。
如果用户当前正在提交"视图2",如何忽略"视图1"上的表单验证?

解决方案

回答

我们无需选中标准的"此字段不能为空"复选框(例如),而是需要使用数据验证规则。假设我们有两个视图,每个视图中都有一个文本框,不能为空,但我们只想强制执行当前视图。这是表格的结构:

领域:

  • currentView(数字)(默认= 1)
  • 文字1(文字)文字2(文字)
  • 按键1
  • button2

查看1(默认)

text1规则:如果(currentView = 1并且text1为空白)显示"不能为空"

button1动作:设置一个字段值(currentView = 2);切换视图(到2)

查看2:

text2规则:如果(currentView = 2 AND text2为空白)显示"不能为空"

button2动作:设置字段值(currentView = 1);切换视图(到1)

有道理?

爱信