Поделиться через


Событие 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

Исключения

Тип исключения Условие

InvalidOperationException

Попытка разработчика привязать событие в другом местоположении, чем метод 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