XmlValidatingEventArgs.ReportError 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
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
要用作错误代码的数字。
例外
传递给此方法的参数无效。
传递给此方法的参数是 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 中打开的表单中运行的代码访问此类型或成员。