XmlEvent.Validating 事件

定义

在接受对表单的基础 XML 文档的更改之后,但在事件发生之前 Changed 发生。

public:
 abstract event Microsoft::Office::InfoPath::XmlValidatingEventHandler ^ Validating;
public abstract event Microsoft.Office.InfoPath.XmlValidatingEventHandler Validating;
member this.Validating : Microsoft.Office.InfoPath.XmlValidatingEventHandler 
Public MustOverride Custom Event Validating As XmlValidatingEventHandler 

事件类型

例外

开发人员尝试将此事件绑定到辅助数据源中的节点。 辅助数据源不支持此事件。

示例

在以下示例中,接受 field9 的更改后,将引发验证事件,并使用 FormError 方法将与 field6 关联的对象添加到窗体Add(XPathNavigator, String, String, String)FormErrorCollection

这会将一条错误消息与 field6 关联。 当用户将鼠标悬停在 field6 上时,作为 Add 方法的参数传递message的字符串将显示在屏幕提示中。 当用户右键单击 field6 ,然后单击“完整错误说明”时,InfoPath 将显示完整的错误消息,包括作为 messageDetailsAdd 方法的参数传递的字符串。

public void field9_Validating(object sender, XmlValidatingEventArgs e)
{
   XPathNavigator errNode = 
      this.CreateNavigator().SelectSingleNode("/my:myFields/my:field6", 
      NamespaceManager);

   this.Errors.Add(errNode, "Field9Validating", 
      "Field9 was validated.", 
      "Field9 was validated and an error was assocated with Field6.");
}
Public Sub field9_Validating(ByVal sender As Object, _
   ByVal e As XmlValidatingEventArgs )
   Dim errNode As XPathNavigator = _
      Me.CreateNavigator().SelectSingleNode("/my:myFields/my:field6", _
      NamespaceManager)

   Me.Errors.Add(errNode, "Field9Validating", _
      "Field9 was validated.", _
      "Field9 was validated and an error was associated with Field6.")
End Sub

注解

重要提示验证 事件不应由开发人员在表单代码中实例化。 从设计模式用户界面向表单模板添加事件处理程序时,Microsoft InfoPath 将使用 EventManager 类和 类的成员XmlEvent在表单代码文件的 InternalStartup 方法中生成代码,以将文档级事件绑定到其事件处理程序。 有关如何在 InfoPath 设计模式下添加事件处理程序的信息,请参阅如何:添加事件处理程序。

验证事件是使用委托绑定的XmlValidatingEventHandler

此事件处理程序不允许用户取消操作。

Validate 事件期间,表单的基础 XML 文档处于只读模式。

Validate 事件通常用于处理错误和处理FormErrorCollection集合,例如添加新错误或删除现有错误。

可以通过 Microsoft InfoPath Filler 或 Web 浏览器内打开的表单中运行的代码访问此类型或成员。

适用于