Событие XmlEvent.Validating
Создается после после того, как изменения в связанном XML-документе формы были приняты, но до возникновения события Changed.
Пространство имен: Microsoft.Office.InfoPath
Сборка: Microsoft.Office.InfoPath (в microsoft.office.infopath.dll)
Синтаксис
'Декларация
Public Event Validating As XmlValidatingEventHandler
'Применение
Dim instance As XmlEvent
Dim handler As XmlValidatingEventHandler
AddHandler instance.Validating, handler
public abstract event XmlValidatingEventHandler Validating
Исключения
Тип исключения | Условие |
---|---|
Попытка разработчика привязать событие в другом местоположении, чем метод InternalStartup. |
|
InvalidOperationException |
Попытка разработчика добавить несколько делегатов для одного и того же выражения XPath, указывающего узел или группу. Для этого события можно добавить только один делегат на одно выражение XPath для узла или группы. |
InvalidOperationException |
Попытка разработчика привязать событие к узлу в дополнительном источнике данных. Это событие не поддерживается для дополнительного источника данных. |
Заметки
Внимание! |
---|
Создание разработчиком экземпляра события Validating в коде формы не предполагается. При добавлении обработчика события к шаблону формы из пользовательского интерфейса в режиме конструктора Microsoft Office InfoPath 2007 генерирует код в методе InternalStartup файла кода формы с помощью класса EventManager и члена класса XmlEvent для привязки событий уровня документа к их обработчикам. Сведения о порядке добавления обработчиков событий в режиме конструктора InfoPath см. в разделе Практическое руководство. Добавление обработчика событий. |
Событие Validating привязано с помощью делегата XmlValidatingEventHandler.
Этот обработчик события не позволяет пользователям отменить операцию.
Во время события Validate связанный XML-документ формы переводится в режим только для чтения.
Событие Validate обычно используется для работы с коллекцией FormErrorCollection или обработки ошибок, например, добавление новых ошибок или удаление существующих.
Доступ к этому типу или члену имеется из программы, работающей в формах, открытых в Microsoft Office InfoPath 2007 или в веб-обозревателе.
Пример
В следующем примере после принятия изменений значения field9 создается событие Validating и объект FormError, связанный с параметром field6, добавляется к коллекции FormErrorCollection формы с помощью метода Add.
Это связывает сообщение об ошибке со значением field6. Строка, переданная как параметр message метода Add, отображается в окне подсказки, когда пользователь наводит указатель мыши на значение field6. Когда пользователь щелкает правой кнопкой значение field6 и затем выбирает , InfoPath отображает полное сообщение об ошибке, включая строку, переданную как параметр messageDetails метода 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
См. также
Ссылка
Класс XmlEvent
Члены XmlEvent
Пространство имен Microsoft.Office.InfoPath