Partager via


XMLNode.SetValidationError, méthode

Modifie le texte d'erreur de validation affiché à un utilisateur pour un contrôle XMLNode et force Microsoft Office Word à signaler qu'un nœud n'est pas valide.

Espace de noms :  Microsoft.Office.Tools.Word
Assembly :  Microsoft.Office.Tools.Word (dans Microsoft.Office.Tools.Word.dll)

Syntaxe

'Déclaration
Sub SetValidationError ( _
    Status As WdXMLValidationStatus, _
    ByRef ErrorText As Object, _
    ClearedAutomatically As Boolean _
)
void SetValidationError(
    WdXMLValidationStatus Status,
    ref Object ErrorText,
    bool ClearedAutomatically
)

Paramètres

  • ClearedAutomatically
    Type : System.Boolean
    true pour effacer automatiquement le message d'erreur dès que l'événement de validation suivant se produit sur le nœud spécifié. false pour demander l'exécution de la méthode SetValidationError avec un paramètre Status de wdXMLValidationStatusOK afin d'effacer le texte d'erreur personnalisé.

Notes

Pour définir le texte d'erreur personnalisé, utilisez la constante wdXMLValidationStatusCustom.

Paramètres optionnels

Pour plus d'informations sur les paramètres optionnels, consultez Paramètres optionnels dans les solutions Office.

Exemples

L'exemple de code suivant utilise la méthode SetValidationError pour définir un message d'erreur de validation personnalisé pour un XMLNode.Le gestionnaire de l'événement ValidationError affiche le message d'erreur de validation personnalisé si la validation du XMLNode échoue.Cet exemple suppose que le document actif contient deux objets XMLNode appelés CustomerAddress1Node et CustomerZipNode qui assurent un mappage vers des éléments du schéma avec un type de données Integer.

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]);
}

Sécurité .NET Framework

Voir aussi

Référence

XMLNode Interface

Microsoft.Office.Tools.Word, espace de noms