다음을 통해 공유


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 에서 EventManager 클래스와 XmlEvent 클래스의 구성원으로 양식 코드 파일의 InternalStartup 메서드에서 코드를 생성하여 문서 수준 이벤트를 해당 이벤트 처리기에 바인딩합니다. InfoPath 디자인 모드에서 이벤트 처리기를 추가하는 방법에 대한 자세한 내용을 보려면 방법: 이벤트 처리기 추가를 참고하십시오.

Validating 이벤트는 XmlValidatingEventHandler 대리자를 사용하여 바인딩됩니다.

이 이벤트 처리기를 사용할 때는 작업을 취소할 수 없습니다.

Validate 이벤트가 실행되는 동안에는 양식의 원본으로 사용하는 XML 문서 모드가 읽기 전용이 됩니다.

Validate 이벤트는 일반적으로 오류를 처리하고 FormErrorCollection 컬렉션 작업(예: 새 오류 추가 또는 기존 오류 삭제)을 하는 데 사용됩니다.

이 형식 또는 구성원은 Microsoft Office InfoPath 2007 또는 웹 브라우저에서 연 양식에서 실행되는 코드에서만 액세스할 수 있습니다.

예제

다음 예제에서는 field9에 대한 변경 내용이 적용된 후 Validating 이벤트가 발생하고 field6과 관련된 FormError 개체가 Add 메서드를 사용하여 양식의 FormErrorCollection에 추가됩니다.

이렇게 하면 오류 메시지가 field6과 연결됩니다. Add 메서드의 message 매개 변수로 전달된 문자열은 사용자가 마우스로 field6을 가리키면 스크린 팁에 표시됩니다. 사용자가 field6을 마우스 오른쪽 단추로 클릭한 다음 전체 오류 설명을 클릭하면 InfoPath가 Add 메서드의 messageDetails 매개 변수로 전달된 문자열을 포함하여 전체 오류 메시지를 표시합니다.

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 네임스페이스