制作表单时,我们总会面对这样的提问:“能不能在我填写的时候验证我写的对不对?”“能不能在我选择否的时候这部分内容不显示?”。

可以吗?当然可以!在InfoPath中,我们可以快速实现这些要求,只要了解如何正确应用规则。

在InfoPath 2010 的Ribbon工具栏“开始”标签中有个“管理规则”按钮:

InfoPath基础应用教程-2 表单中的规则(1)_第1张图片

点击按钮,在界面右侧即会出现“规则”任务窗格:

InfoPath基础应用教程-2 表单中的规则(1)_第2张图片

选择已添加到视图中的任何一个控件:

InfoPath基础应用教程-2 表单中的规则(1)_第3张图片

点击“新建”即可看到,我们可以在控件上添加三种规则:验证、格式、操作。

【验证】

验证对应着InfoPath 2007中的“数据验证”,指的是在填写数据时对内容进行验证。比如手机号码应当必须为11位数字,如果不符合则应认定为无效数据,同时应该提醒用户检查填写。

首先我们需要先选中绑定“手机号码”的文本框,然后在右侧的任务窗格中,点击新建下拉框中的“验证”:

InfoPath基础应用教程-2 表单中的规则(1)_第4张图片 

在详细信息中输入“验证手机号码必须为11位数字”:

InfoPath基础应用教程-2 表单中的规则(1)_第5张图片

点击“条件”下方的“无”:

InfoPath基础应用教程-2 表单中的规则(1)_第6张图片

在弹出的对话框中我们可以指定判定数据无效的条件,系统内置了多种比较符,很方便,本例中我们选择“不匹配模式”:

InfoPath基础应用教程-2 表单中的规则(1)_第7张图片

在右侧的下拉框中选择“选择模式”:

InfoPath基础应用教程-2 表单中的规则(1)_第8张图片  

模式是使用正则表达式来规定的。在数据项模式中可以看到,内置了“URL”“电子邮件地址”和“邮编”,也就是说,如果我们需要验证某个字段是否符合这三个格式之一,就可以直接选择使用了。这里我们需要验证的格式是“11位数字”,不在内置的格式之中,所以选择“自定义模式”:

InfoPath基础应用教程-2 表单中的规则(1)_第9张图片

在下方的“插入特殊字符”的下拉选项框中,我们可以选择插入需要的字符,也可以直接在文本框中输入:

InfoPath基础应用教程-2 表单中的规则(1)_第10张图片 

这里我们指定的模式是11位数字,点击确定。

InfoPath基础应用教程-2 表单中的规则(1)_第11张图片

回到“规则”任务窗格,在“屏幕提示”中填写提示文字。

在屏幕提示下方还有“显示更多选项”,点开可以看到有关消息对话框的设置:

InfoPath基础应用教程-2 表单中的规则(1)_第12张图片

        默认情况下,当数据填写的格式不对时,仅会显示出屏幕提示,还可以选择同时“显示屏幕提示和对话框消息”,不过注意,只有在客户端打开表单时才可能弹出对话框,浏览器是不支持的:

InfoPath基础应用教程-2 表单中的规则(1)_第13张图片

预览的效果如下图所示:

InfoPath基础应用教程-2 表单中的规则(1)_第14张图片

 

如果选了弹出对话框,且在客户端打开,效果是这样的:

InfoPath基础应用教程-2 表单中的规则(1)_第15张图片