加入收藏 | 设为首页 | 会员中心 | 我要投稿 焦作站长网 (https://www.0391zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

在Infopath中实现数据有效性验证的三种方法

发布时间:2020-03-16 09:48:14 所属栏目:安全 来源:互联网
导读:Infopath是微软Office办公软件家族中的成员之一,它主要的功能是面向客户端收集XML数据,并按照预期定义的格式生成XML文件,它以可视化表单的形式收集数据,并且

  例如表单中有一个文本框,一个表达式框和一个按钮,我们想验证用户在文本框中输入的值是否为一个数字,并且将信息显示在表达式框中。按照下面的步骤给按钮添加规则:

右键单击按钮点击“属性”,或者直接双击按钮,在弹出的对话框中点击“规则”按钮。在“规则”对话框中点击“添加”。在“规则”对话框中点击“添加操作”。在“操作”对话框中,从“操作”下拉列表中选择“设置域值”。点击“域”后面的按钮,在弹出的对话框中选择表达式框所绑定的域,点击“确定”关闭对话框。保持“操作”对话框中“值”文本框为空,点击“确定”关闭,然后关闭“规则”对话框。此时在“规则”对话框中已经添加了一条新的规则,其作用是当按钮点击时清空表达式框中的值。按照前面的步骤再添加一条规则,同样绑定到表达式框上,并将值设置成“仅允许数字”。给规则2设置条件,在“条件”对话框中,选择要进行验证的域(此处应该是文本框所对应的域),然后选择“不匹配模式”,同时设置匹配的正则表达式为-?[0-9]*.?[0-9]+确定并关闭所有的对话框

  当用户打开表单实例时,在文本框中输入非数字,然后点击按钮,此时表达式框中会出现相应提示;如果用户输入的内容符合验证规则,则表达式框中的内容被清空。 

  2. 在按钮上使用验证事件进行数据有效性验证

  右键单击按钮点击“属性”,或者直接双击按钮,在“属性”对话框中点击“编辑表单代码”,在VSTA工程代码中已经新添加了一个按钮事件,添加下面的代码: 

复制代码 代码如下:


public void CTRL2_5_Clicked(object sender, ClickedEventArgs e)
{
// 获取表单数据源根节点的引用
XPathNavigator root = MainDataSource.CreateNavigator();

// 清空表达式框中的内容
root.SelectSingleNode("my:field2", NamespaceManager).SetValue("");

// 检查文本框中的值是否为数字,并且在表达式框中显示提示信息
string field1 = root.SelectSingleNode("my:field1", NamespaceManager).Value;
System.Text.RegularExpressions.Regex regEx = new System.Text.RegularExpressions.Regex(@"-?[0-9]*.?[0-9]+");

if (!regEx.IsMatch(field1))
{
root.SelectSingleNode("//my:field2", NamespaceManager).SetValue("仅允许数字");
}
}


  注意:在Infopath中,所有的数据验证仅会给出相应的提示信息,用户可以强制保存表单并忽略数据有效性验证的提示信息。另外,本文C#代码中所使用的主数据源节点名称(如my:field1,my:field2等)因实际情况而异。

(编辑:焦作站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读