Condividi tramite


Evento XmlEvent.Validating

Si verifica dopo l'accettazione delle modifiche apportate al documento XML sottostante di un modulo ma prima dell'evento Changed.

Spazio dei nomi: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)

Sintassi

Public Event Validating As XmlValidatingEventHandler

Dim instance As XmlEvent
Dim handler As XmlValidatingEventHandler

AddHandler instance.Validating, handler
public abstract event XmlValidatingEventHandler Validating

Eccezioni

Tipo eccezione Condizione

InvalidOperationException

Lo sviluppatore ha cercato di associare l'evento in una posizione diversa dal metodo InternalStartup.

InvalidOperationException

Lo sviluppatore ha cercato di aggiungere più delegati per la stessa espressione XPath specificando un nodo o un gruppo. Per questo evento è possibile aggiungere un solo delegato per ogni espressione XPath per un nodo o un gruppo.

InvalidOperationException

Lo sviluppatore ha cercato di associare l'evento a un nodo in un'origine dati secondaria. Questo evento non è supportato per le origini dati secondarie.

Osservazioni

Importante:

Gli sviluppatori non devono creare un'istanza dell'evento Validating nel codice del modulo. Quando si aggiunge un gestore eventi al modello di modulo dall'interfaccia utente in modalità progettazione, tramite Microsoft Office InfoPath 2007 viene generato codice nel metodo InternalStartup del file di codice del modulo utilizzando la classe EventManager e il membro della classe XmlEvent per associare gli eventi a livello di documento ai relativi gestori eventi. Per informazioni su come aggiungere gestori eventi in modalità progettazione di InfoPath, vedere Procedura: Aggiungere un gestore eventi.

L'evento Validating viene associato utilizzando il delegato XmlValidatingEventHandler.

Questo gestore eventi non consente di annullare un'operazione.

Durante l'evento Validate, il documento XML sottostante del modulo viene impostato in modalità di sola lettura.

L'evento Validate viene in genere utilizzato per gestire errori e per utilizzare l'insieme FormErrorCollection, ad esempio per aggiungere nuovi errori o eliminare quelli esistenti.

A questo tipo o membro può accedere solo il codice in esecuzione in moduli aperti in Microsoft Office InfoPath 2007 o in un browser.

Esempio

Nell'esempio seguente, dopo l'accettazione di una modifica relativa a field9, viene generato l'evento Validating e un oggetto FormError associato a field6 viene aggiunto all'insieme FormErrorCollection del modulo utilizzando il metodo Add.

In questo modo, viene associato un messaggio di errore a field6. La stringa passata come parametro message del metodo Add viene visualizzata in una descrizione comando quando l'utente passa con il puntatore del mouse su field6. Quando l'utente fa clic con il pulsante destro del mouse su field6 e quindi fa clic su Descrizione errore completa, in InfoPath viene visualizzato il messaggio di errore completo inclusa la stringa passata come parametro messageDetails del metodo 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

Vedere anche

Riferimenti

Classe XmlEvent
Membri XmlEvent
Spazio dei nomi Microsoft.Office.InfoPath