XMLNode.SetValidationError 方法

更改向用户显示的 XMLNode 控件的验证错误文本,并强制 Microsoft Office Word 将节点报告为无效。

命名空间:  Microsoft.Office.Tools.Word
程序集:  Microsoft.Office.Tools.Word(在 Microsoft.Office.Tools.Word.dll 中)

语法

声明
Sub SetValidationError ( _
    Status As WdXMLValidationStatus, _
    ByRef ErrorText As Object, _
    ClearedAutomatically As Boolean _
)
void SetValidationError(
    WdXMLValidationStatus Status,
    ref Object ErrorText,
    bool ClearedAutomatically
)

参数

  • ClearedAutomatically
    类型:System.Boolean
    如果为 true,则在针对指定节点发生下一个验证事件后,立即自动清除错误消息。如果为 false,则要求以 Status 参数 wdXMLValidationStatusOK 运行 SetValidationError 方法,以清除自定义错误文本。

备注

若要设置自定义错误文本,请使用 wdXMLValidationStatusCustom 常数。

可选参数

有关可选参数的信息,请参见Office 解决方案中的可选参数

示例

下面的代码示例使用 SetValidationError 方法为 XMLNode 设置自定义验证错误信息。 ValidationError 事件的事件处理程序会在 XMLNode 未验证时显示该自定义验证错误信息。 此示例假定当前文档包含名为 CustomerAddress1Node 和 CustomerZipNode 的两个 XMLNode 对象,这两个对象映射到整数数据类型的架构元素。

Private Sub XMLNodeValidationError()

    ' Set custom error message for Address1 element.
    Dim errorText As String = Me.CustomerAddress1Node.BaseName & _
        " element must be an integer."
    Dim objErrorText As Object = CType(errorText, Object)
    Me.CustomerAddress1Node.SetValidationError( _
        Word.WdXMLValidationStatus.wdXMLValidationStatusCustom, _
        objErrorText, False)

    ' This does not raise a validation error.
    Dim val As Integer = 22222
    Me.CustomerZipNode.NodeText = val.ToString()

    ' This raises a validation error.
    Me.CustomerAddress1Node.NodeText = "Seventeen Hundred Twenty One"
End Sub

Private Sub CustomerNode_ValidationError(ByVal sender As Object, _
    ByVal e As EventArgs) Handles CustomerZipNode.ValidationError, _
    CustomerAddress1Node.ValidationError

    Dim tempNode As Microsoft.Office.Tools.Word.XMLNode = CType(sender,  _
        Microsoft.Office.Tools.Word.XMLNode)
    MsgBox("Error: " & tempNode.ValidationErrorText(False))
End Sub
private void XMLNodeValidationError()
{
    // Set custom error message for Address1 element.
    string errorText = this.CustomerAddress1Node.BaseName + 
        " element must be an integer.";
    object objErrorText = (object)errorText;
    this.CustomerAddress1Node.SetValidationError(
        Word.WdXMLValidationStatus.wdXMLValidationStatusCustom,
        ref objErrorText, false);

    // Attach validation event handlers.
    this.CustomerZipNode.ValidationError +=
        new EventHandler(CustomerNode_ValidationError);
    this.CustomerAddress1Node.ValidationError +=
        new EventHandler(CustomerNode_ValidationError);

    // This does not raise a validation error.
    int val = 22222;
    this.CustomerZipNode.NodeText = val.ToString();

    // This raises a validation error.
    this.CustomerAddress1Node.NodeText = 
        "Seventeen Hundred Twenty One";
}

void CustomerNode_ValidationError(object sender, EventArgs e)
{
    Microsoft.Office.Tools.Word.XMLNode tempNode = 
        (Microsoft.Office.Tools.Word.XMLNode)sender;

    MessageBox.Show("Error: " + tempNode.ValidationErrorText[false]);
}

.NET Framework 安全性

请参见

参考

XMLNode 接口

Microsoft.Office.Tools.Word 命名空间