XmlEvent.Validating Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Se produce después de que se hayan aceptado los cambios en el documento XML subyacente de un formulario, pero antes de que se haya producido el Changed evento.
public:
abstract event Microsoft::Office::InfoPath::XmlValidatingEventHandler ^ Validating;
public abstract event Microsoft.Office.InfoPath.XmlValidatingEventHandler Validating;
member this.Validating : Microsoft.Office.InfoPath.XmlValidatingEventHandler
Public MustOverride Custom Event Validating As XmlValidatingEventHandler
Tipo de evento
Excepciones
El programador intentó enlazar el evento a un nodo de un origen de datos secundario. Este evento no se puede usar para orígenes de datos secundarios.
Ejemplos
En el ejemplo siguiente, después de que se haya aceptado un cambio para field9, se genera el evento Validating y se agrega un FormError objeto asociado a field6 a FormErrorCollection del formulario mediante el Add(XPathNavigator, String, String, String) método .
Así se asocia un mensaje de error a field6. La cadena pasada como message
parámetro del método Add se muestra en una sugerencia de pantalla cuando el usuario mantiene el puntero sobre field6. Cuando el usuario hace clic con el botón derecho en field6 y, a continuación, hace clic en Descripción completa del error, InfoPath muestra el mensaje de error completo, incluida la cadena pasada como messageDetails
parámetro del método 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
Comentarios
Importante: El evento Validating no está pensado para que el desarrollador cree una instancia en el código de formulario. Al agregar un controlador de eventos a la plantilla de formulario desde la interfaz de usuario del modo de diseño, Microsoft InfoPath genera código en el método InternalStartup del archivo de código de formulario mediante la EventManager clase y el miembro de la XmlEvent clase para enlazar eventos de nivel de documento a sus controladores de eventos. Para obtener información sobre cómo agregar controladores de eventos en el modo de diseño de InfoPath, vea Cómo agregar un controlador de eventos.
El evento Validating se enlaza mediante el XmlValidatingEventHandler delegado.
Este controlador de eventos no permite a los usuarios cancelar una operación.
Durante el evento Validate, el documento XML subyacente del formulario se pone en modo de sólo lectura.
El evento Validate se usa normalmente para controlar errores y trabajar con la FormErrorCollection colección, por ejemplo, agregar nuevos errores o eliminar los existentes.
Se puede acceder a este tipo o miembro desde el código que se ejecuta en los formularios abiertos en Microsoft InfoPath Filler o en un explorador web.