다음을 통해 공유


ValidationError 클래스

정의

유효성 검사 오류를 보고할 때 ValidationRule 바인딩 엔진에서 또는 메서드를 통해 MarkInvalid(BindingExpressionBase, ValidationError) 명시적으로 만들어지는 유효성 검사 오류를 나타냅니다.

public ref class ValidationError
public class ValidationError
type ValidationError = class
Public Class ValidationError
상속
ValidationError

예제

다음 예제에서는 유효성 검사 오류 메시지를 보고하는 ToolTip 스타일 트리거를 만듭니다. 연결된 속성은 Validation.Errors 바인딩된 요소의 개체 컬렉션을 ValidationError 반환합니다.

<Style x:Key="textStyleTextBox" TargetType="TextBox">
  <Setter Property="Foreground" Value="#333333" />
  <Setter Property="MaxLength" Value="40" />
  <Setter Property="Width" Value="392" />
  <Style.Triggers>
    <Trigger Property="Validation.HasError" Value="true">
      <Setter Property="ToolTip"
        Value="{Binding RelativeSource={RelativeSource Self},
                        Path=(Validation.Errors)[0].ErrorContent}"/>
    </Trigger>
  </Style.Triggers>
</Style>

설명

WPF 데이터 바인딩 모델을 사용하면 유효성 검사 규칙을 개체와 연결할 수 있습니다 Binding . 유효성 검사는 변환기가 호출되기 전에 대상-원본 값 전송 중에 발생합니다. 다음은 유효성 검사 프로세스에 대해 설명합니다.

  1. 대상 속성에서 원본 속성으로 값을 전송하는 경우 데이터 바인딩 엔진은 먼저 바인딩된 요소의 연결된 속성에 Validation.Errors 추가되었을 수 있는 모든 값을 제거합니다ValidationError. 그런 다음 사용자 지정 유효성 검사 규칙이 정의Binding되어 있는지 여부를 확인합니다. 이 경우 각 규칙 중 하나가 실패할 때까지 또는 모든 규칙이 통과될 때까지 각각 ValidationRule 에 대해 메서드를 호출 Validate 합니다.

  2. 통과하지 않는 사용자 지정 규칙이 있으면 바인딩 엔진은 개체를 ValidationError 만들고 바인딩된 요소의 컬렉션에 Validation.Errors 추가합니다. Validation.Errors 비어 있지 않으면 요소의 Validation.HasError 연결된 속성이 .로 true설정됩니다. 또한 속성 BindingNotifyOnValidationError 설정된 true경우 바인딩 엔진은 요소에 Validation.Error 연결된 이벤트를 발생합니다.

  3. 모든 규칙이 통과하면 바인딩 엔진은 변환기를 호출합니다(있는 경우).

  4. 변환기가 통과하면 바인딩 엔진은 원본 속성의 setter를 호출합니다.

  5. 바인딩에 연결된 바인딩이 ExceptionValidationRule 있고 3단계 또는 4단계 중에 예외가 throw되는 경우 바인딩 엔진은 UpdateSourceExceptionFilter해당 바인딩 엔진이 있는지 확인합니다. 콜백을 UpdateSourceExceptionFilter 사용하여 예외를 처리하기 위한 사용자 지정 처리기를 제공할 수 있습니다. UpdateSourceExceptionFilter 바인딩 엔진에서 Binding예외를 만들어 ValidationError 바인딩된 요소의 컬렉션에 Validation.Errors 추가 합니다.

어느 방향으로든 유효한 값 전송(대상에서 원본 또는 대상에 대한 원본)은 연결된 속성을 지웁니다 Validation.Errors .

생성자

Name Description
ValidationError(ValidationRule, Object, Object, Exception)

지정된 매개 변수를 사용하여 클래스의 ValidationError 새 인스턴스를 초기화합니다.

ValidationError(ValidationRule, Object)

지정된 매개 변수를 사용하여 클래스의 ValidationError 새 인스턴스를 초기화합니다.

속성

Name Description
BindingInError

이 개체의 BindingExpression 개체를 가져옵니다MultiBindingExpression.ValidationError 개체가 명시적으로 잘못 표시되었거나 유효성 검사 규칙이 실패했습니다.

ErrorContent

오류를 설명하는 문자열과 같이 이에 ValidationError대한 추가 컨텍스트를 제공하는 개체를 가져오거나 설정합니다.

Exception

오류가 예외의 결과인 경우 이 ValidationError원인인 개체를 가져오거나 설정합니다Exception.

RuleInError

오류가 유효성 검사 규칙의 결과인 경우 이 ValidationError원인인 개체를 가져오거나 설정합니다ValidationRule.

메서드

Name Description
Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상

추가 정보