XmlEvent.Validating 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在接受对表单的基础 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 将显示完整的错误消息,包括作为 messageDetails
Add 方法的参数传递的字符串。
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 浏览器内打开的表单中运行的代码访问此类型或成员。