FormError 클래스

양식의 FormErrorCollection에 있는 오류를 나타냅니다.

상속 계층 구조

System.Object
  Microsoft.Office.InfoPath.FormError

네임스페이스:  Microsoft.Office.InfoPath
어셈블리:  Microsoft.Office.InfoPath(Microsoft.Office.InfoPath.dll)

구문

‘선언
Public MustInherit Class FormError
‘사용 방법
Dim instance As FormError
public abstract class FormError

주의

InfoPath 양식에 있는 각 FormError 개체는 양식의 원본으로 사용하는 XML 문서의 노드와 연결됩니다. 특정 노드에 대해 데이터 유효성 검사가 실패할 경우 InfoPath는 FormError 개체를 만들어 양식과 연결된 FormErrorCollection에 해당 개체를 배치합니다.

InfoPath 양식에서 발생할 수 있는 데이터 유효성 검사 오류에는 3가지 형식이 있으며 FormError 클래스의 FormErrorType 속성을 사용하여 확인할 수 있습니다.

  • FormErrorType.SchemaValidation 데이터 유효성 검사가 XML 스키마 정의 제약 조건 때문에 실패했습니다.

  • FormErrorType.SystemGenerated 데이터 유효성 검사가 양식 정의(.xsf) 파일에 정의된 제약 조건 또는 XmlValidatingEventArgs 클래스의 ReportError() 메서드를 호출하는 양식 코드 때문에 실패했습니다.

  • FormErrorType.UserDefined   데이터 유효성 검사가 FormErrorsCollection 클래스의 Add 메서드를 통해 정의되는 사용자 지정 오류 때문에 실패했습니다.

다음 예제에서는 단추 컨트롤을 클릭하여 양식의 FormErrorCollection에 있는 첫 번째 오류를 가져온 다음 FormError 개체의 모든 속성 값을 표시합니다.

public void ErrorBtn_Clicked(object sender, ClickedEventArgs e)
{
   FormError er = this.Errors[0];
   MessageBox.Show("Short message: " + er.Message);
   MessageBox.Show("Detailed message: " + er.DetailedMessage); 
   MessageBox.Show("Error code: " + er.ErrorCode);
   MessageBox.Show("Error name: " + er.Name);
   MessageBox.Show("Error type: " + er.FormErrorType.ToString());
   MessageBox.Show("Error site XML: " + er.Site.OuterXml.ToString());
}
Public Sub ErrorBtn_Clicked(ByVal sender As Object, _
   ByVal e As ClickedEventArgs)
   FormError er = Me.Errors(0)
   MessageBox.Show("Short message: " & er.Message)
   MessageBox.Show("Detailed message: " & er.DetailedMessage) 
   MessageBox.Show("Error code: " & er.ErrorCode)
   MessageBox.Show("Error name: " & er.Name);
   MessageBox.Show("Error type: " & er.FormErrorType.ToString())
   MessageBox.Show("Error site XML: " & er.Site.OuterXml.ToString())
End Sub

스레드 보안

이 형식의 모든 공용 static (Visual Basic의Shared ) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수도 있습니다.

참고 항목

참조

FormError 멤버

Microsoft.Office.InfoPath 네임스페이스