XmlValidatingEventArgs.ReportError 方法

定义

重载

ReportError(XPathNavigator, Boolean, String)

创建一个 FormError 对象,该对象包含具有指定值的自定义错误信息,并将其添加到 FormErrorCollection 窗体的 对象。

ReportError(XPathNavigator, Boolean, String, String)

创建一个 FormError 对象,该对象包含具有指定值的自定义错误信息,并将其添加到 FormErrorCollection 窗体的 对象。

ReportError(XPathNavigator, Boolean, String, String, Int32)

创建一个 FormError 对象,该对象包含具有指定值的自定义错误信息,并将其添加到 FormErrorCollection 窗体的 对象。

ReportError(XPathNavigator, Boolean, String, String, Int32, ErrorMode)

创建一个 FormError 对象,该对象包含具有指定值的自定义错误信息,并将其添加到 FormErrorCollection 窗体的 对象。

ReportError(XPathNavigator, Boolean, String)

创建一个 FormError 对象,该对象包含具有指定值的自定义错误信息,并将其添加到 FormErrorCollection 窗体的 对象。

public:
 abstract void ReportError(System::Xml::XPath::XPathNavigator ^ node, bool siteIndependent, System::String ^ message);
public abstract void ReportError (System.Xml.XPath.XPathNavigator node, bool siteIndependent, string message);
abstract member ReportError : System.Xml.XPath.XPathNavigator * bool * string -> unit
Public MustOverride Sub ReportError (node As XPathNavigator, siteIndependent As Boolean, message As String)

参数

node
XPathNavigator

一个 XPathNavigator 位于节点的 ,该节点包含与错误关联的数据。

siteIndependent
Boolean

设置自动删除 FormError 对象的条件。 如果设置为 true,则将删除 FormError 对象,以更改与此事件对象的 属性返回 Match 的 XPath 表达式匹配的任何节点。 如果设置为 false,则仅当此事件对象的 属性返回Site的节点已更改时,才会在下次验证窗体时删除 FormError 对象。

message
String

用于短错误消息的文本。

例外

传递给此方法的参数无效。

传递给此方法的参数是 null 引用, (Visual Basic) 中没有。

示例

在以下示例中Site,类从 XmlEventArgs 类继承的属性XmlValidatingEventArgs用于检查引发 Validating 事件的节点的值。 如果数据验证失败,则使用 ReportError 方法创建自定义错误。

public void field1_Validating(object sender, XmlValidatingEventArgs e)
{
   if (e.Site.InnerXml != String.Empty)
   {
      int fieldValue = int.Parse((e.Site.InnerXml));

      if (fieldValue > 50)
      {
         e.ReportError(e.Site,
            false,
            "Quantity cannot exceed 50.");
      }

      if (fieldValue < 0)
      {
         e.ReportError(e.Site,
            false,
            "Quantity cannot be less than 0.");
      }
   }
}
Public Sub field1_Validating(ByVal sender As Object , _
   ByVal e As XmlValidatingEventArgs)
   If (e.Site.InnerXml <> String.Empty) Then
      Integer fieldValue = Integer.Parse((e.Site.InnerXml))

      If (fieldValue > 50) Then
         e.ReportError(e.Site,
            false,
            "Quantity cannot exceed 50.")
      End If

      If (fieldValue < 0) Then
         e.ReportError(e.Site,
            false,
            "Quantity cannot be less than 0.")
      End If
   End If
End Sub

注解

ReportError 方法用于为事件期间Validating发生的错误创建自定义错误。

调用 ReportError 方法时,InfoPath 将创建一个 FormError 对象并将其添加到当前表单的 FormErrorCollection。 当验证约束不再无效时,将从集合中删除 FormError 对象。 在某些情况下,可以使用 或 DeleteAll() 方法显式删除Delete(FormError)它们。

也可以使用 FormErrorCollection 类的 方法创建 Add(XPathNavigator, String, String, String)FormError 对象。

注意:如果希望将错误应用于同一类型的所有节点,则应使用与站点无关的错误。 如果要将错误应用于特定节点,请使用与网站相关的错误。

此成员只能由与当前打开的表单在相同域中运行的表单访问,或者由已授予跨域权限的表单访问。

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

适用于

ReportError(XPathNavigator, Boolean, String, String)

创建一个 FormError 对象,该对象包含具有指定值的自定义错误信息,并将其添加到 FormErrorCollection 窗体的 对象。

public:
 abstract void ReportError(System::Xml::XPath::XPathNavigator ^ node, bool siteIndependent, System::String ^ message, System::String ^ messageDetails);
public abstract void ReportError (System.Xml.XPath.XPathNavigator node, bool siteIndependent, string message, string messageDetails);
abstract member ReportError : System.Xml.XPath.XPathNavigator * bool * string * string -> unit
Public MustOverride Sub ReportError (node As XPathNavigator, siteIndependent As Boolean, message As String, messageDetails As String)

参数

node
XPathNavigator

一个 XPathNavigator 位于节点的 ,该节点包含与错误关联的数据。

siteIndependent
Boolean

设置自动删除 FormError 对象的条件。 如果设置为 true,则将删除 FormError 对象,以更改与此事件对象的 属性返回 Match 的 XPath 表达式匹配的任何节点。 如果设置为 false,则仅当此事件对象的 属性返回Site的节点已更改时,才会在下次验证窗体时删除 FormError 对象。

message
String

用于短错误消息的文本。

messageDetails
String

用于详细错误消息的文本。

例外

传递给此方法的参数无效。

传递给此方法的参数是 null 引用, (Visual Basic) 中没有。

示例

在以下示例中Site,类从 XmlEventArgs 类继承的属性XmlValidatingEventArgs用于检查引发 Validating 事件的节点的值。 如果数据验证失败,则使用 ReportError 方法创建自定义错误。

public void field1_Validating(object sender, XmlValidatingEventArgs e)
{
   if (e.Site.InnerXml != String.Empty)
   {
      int fieldValue = int.Parse((e.Site.InnerXml));

      if (fieldValue > 50)
      {
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot exceed 50.");
      }

      if (fieldValue < 0)
      {
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot be less than 0.");
      }
   }
}
Public Sub field1_Validating(ByVal sender As Object , _
   ByVal e As XmlValidatingEventArgs)
   If (e.Site.InnerXml <> String.Empty) Then
      Integer fieldValue = Integer.Parse((e.Site.InnerXml))

      If (fieldValue > 50) Then
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot exceed 50.")
      End If

      If (fieldValue < 0) Then
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot be less than 0.")
      End If
   End If
End Sub

注解

ReportError 方法用于为事件期间Validating发生的错误创建自定义错误。

调用 ReportError 方法时,InfoPath 将创建一个 FormError 对象并将其添加到当前表单的 FormErrorCollection。 当验证约束不再无效时,将从集合中删除 FormError 对象。 在某些情况下,可以使用 或 DeleteAll() 方法显式删除Delete(FormError)它们。

也可以使用 FormErrorCollection 类的 方法创建 Add(XPathNavigator, String, String, String)FormError 对象。

注意:如果希望将错误应用于同一类型的所有节点,则应使用与站点无关的错误。 如果要将错误应用于特定节点,请使用与网站相关的错误。

此成员只能由与当前打开的表单在相同域中运行的表单访问,或者由已授予跨域权限的表单访问。

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

适用于

ReportError(XPathNavigator, Boolean, String, String, Int32)

创建一个 FormError 对象,该对象包含具有指定值的自定义错误信息,并将其添加到 FormErrorCollection 窗体的 对象。

public:
 abstract void ReportError(System::Xml::XPath::XPathNavigator ^ node, bool siteIndependent, System::String ^ message, System::String ^ messageDetails, int errorCode);
public abstract void ReportError (System.Xml.XPath.XPathNavigator node, bool siteIndependent, string message, string messageDetails, int errorCode);
abstract member ReportError : System.Xml.XPath.XPathNavigator * bool * string * string * int -> unit
Public MustOverride Sub ReportError (node As XPathNavigator, siteIndependent As Boolean, message As String, messageDetails As String, errorCode As Integer)

参数

node
XPathNavigator

一个 XPathNavigator 位于节点的 ,该节点包含与错误关联的数据。

siteIndependent
Boolean

设置自动删除 FormError 对象的条件。 如果设置为 true,则将删除 FormError 对象,以更改与此事件对象的 属性返回 Match 的 XPath 表达式匹配的任何节点。 如果设置为 false,则仅当此事件对象的 属性返回Site的节点已更改时,才会在下次验证窗体时删除 FormError 对象。

message
String

用于短错误消息的文本。

messageDetails
String

用于详细错误消息的文本。

errorCode
Int32

要用作错误代码的数字。

例外

传递给此方法的参数无效。

传递给此方法的参数是 null 引用, (Visual Basic) 中没有。

示例

在以下示例中Site,类从 XmlEventArgs 类继承的属性XmlValidatingEventArgs用于检查引发 Validating 事件的节点的值。 如果数据验证失败,则使用 ReportError 方法创建自定义错误。

public void field1_Validating(object sender, XmlValidatingEventArgs e)
{
   if (e.Site.InnerXml != String.Empty)
   {
      int fieldValue = int.Parse((e.Site.InnerXml));

      if (fieldValue > 50)
      {
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot exceed 50.",
            12345);

      }

      if (fieldValue < 0)
      {
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot be less than 0.",
            12346);
      }
   }
}
Public Sub field1_Validating(ByVal sender As Object , _
   ByVal e As XmlValidatingEventArgs)
   If (e.Site.InnerXml <> String.Empty) Then
      Integer fieldValue = Integer.Parse((e.Site.InnerXml))

      If (fieldValue > 50) Then
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot exceed 50.",
            12345)
      End If

      If (fieldValue < 0) Then
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot be less than 0.",
            12346)
      End If
   End If
End Sub

注解

ReportError 方法用于为事件期间Validating发生的错误创建自定义错误。

调用 ReportError 方法时,InfoPath 将创建一个 FormError 对象并将其添加到当前表单的 FormErrorCollection。 当验证约束不再无效时,将从集合中删除 FormError 对象。 在某些情况下,可以使用 或 DeleteAll() 方法显式删除Delete(FormError)它们。

也可以使用 FormErrorCollection 类的 方法创建 Add(XPathNavigator, String, String, String)FormError 对象。

注意:如果希望将错误应用于同一类型的所有节点,则应使用与站点无关的错误。 如果要将错误应用于特定节点,请使用与网站相关的错误。

此成员只能由与当前打开的表单在相同域中运行的表单访问,或者由已授予跨域权限的表单访问。

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

适用于

ReportError(XPathNavigator, Boolean, String, String, Int32, ErrorMode)

创建一个 FormError 对象,该对象包含具有指定值的自定义错误信息,并将其添加到 FormErrorCollection 窗体的 对象。

public:
 abstract void ReportError(System::Xml::XPath::XPathNavigator ^ node, bool siteIndependent, System::String ^ message, System::String ^ messageDetails, int errorCode, Microsoft::Office::InfoPath::ErrorMode errorMode);
public abstract void ReportError (System.Xml.XPath.XPathNavigator node, bool siteIndependent, string message, string messageDetails, int errorCode, Microsoft.Office.InfoPath.ErrorMode errorMode);
abstract member ReportError : System.Xml.XPath.XPathNavigator * bool * string * string * int * Microsoft.Office.InfoPath.ErrorMode -> unit

参数

node
XPathNavigator

一个 XPathNavigator 位于节点的 ,该节点包含与错误关联的数据。

siteIndependent
Boolean

设置自动删除 FormError 对象的条件。 如果设置为 true,则将删除 FormError 对象,以更改与此事件对象的 属性返回 Match 的 XPath 表达式匹配的任何节点。 如果设置为 false,则仅当此事件对象的 属性返回Site的节点已更改时,才会在下次验证窗体时删除 FormError 对象。

message
String

用于短错误消息的文本。

messageDetails
String

用于详细错误消息的文本。

errorCode
Int32

要用作错误代码的数字。

errorMode
ErrorMode

一个 , ErrorMode 指定错误是在模式对话框中显示还是无模式显示,并在受影响的控件中带有波浪下划线。

例外

传递给此方法的参数无效。

传递给此方法的参数是 null 引用, (Visual Basic) 中没有。

示例

在以下示例中Site,类从 XmlEventArgs 类继承的属性XmlValidatingEventArgs用于检查引发 Validating 事件的节点的值。 如果数据验证失败,则使用 ReportError 方法创建自定义错误。

public void field1_Validating(object sender, XmlValidatingEventArgs e)
{
   if (e.Site.InnerXml != String.Empty)
   {
      int fieldValue = int.Parse((e.Site.InnerXml));

      if (fieldValue > 50)
      {
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot exceed 50.",
            12345,
            ErrorMode.Modeless);
      }

      if (fieldValue < 0)
      {
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot be less than 0.",
            12346,
            ErrorMode.Modeless);
      }
   }
}
Public Sub field1_Validating(ByVal sender As Object , _
   ByVal e As XmlValidatingEventArgs)
   If (e.Site.InnerXml <> String.Empty) Then
      Integer fieldValue = Integer.Parse((e.Site.InnerXml))

      If (fieldValue > 50) Then
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot exceed 50.",
            12345,
            ErrorMode.Modeless)
      End If

      If (fieldValue < 0) Then
         e.ReportError(e.Site,
            false,
            "Invalid quantity",
            "The total number cannot be less than 0.",
            12346,
            ErrorMode.Modeless)
      End If
   End If
End Sub

注解

ReportError 方法用于为事件期间Validating发生的错误创建自定义错误。

调用 ReportError 方法时,InfoPath 将创建一个 FormError 对象并将其添加到当前表单的 FormErrorCollection。 当验证约束不再无效时,将从集合中删除 FormError 对象。 在某些情况下,可以使用 或 DeleteAll() 方法显式删除Delete(FormError)它们。

也可以使用 FormErrorCollection 类的 方法创建 Add(XPathNavigator, String, String, String)FormError 对象。

注意:如果希望将错误应用于同一类型的所有节点,则应使用与站点无关的错误。 如果要将错误应用于特定节点,请使用与网站相关的错误。

此成员只能由与当前打开的表单在相同域中运行的表单访问,或者由已授予跨域权限的表单访问。

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

适用于