ValidationError 클래스

정의

ValidationRule에서 유효성 검사 오류를 보고할 때 바인딩 엔진에 의해 MarkInvalid(BindingExpressionBase, ValidationError) 메서드를 통해 명시적으로 생성된 유효성 검사 오류를 나타냅니다.Represents a validation error that is created either by the binding engine when a ValidationRule reports a validation error, or through the MarkInvalid(BindingExpressionBase, ValidationError) method explicitly.

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

예제

다음 예제에서는 만든 스타일 트리거는 ToolTip 유효성 검사 오류 메시지를 보고 하는 합니다.The following example shows a style trigger that creates a ToolTip that reports a validation error message. 합니다 Validation.Errors 연결 된 속성의 컬렉션을 반환 합니다. ValidationError 바인딩된 요소에서 개체입니다.The Validation.Errors attached property returns a collection of ValidationError objects on the bound element.

<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>

설명

WPFWPF 데이터 바인딩 모델을 사용 하면 유효성 검사 규칙을 연결 하 여 Binding 개체입니다.The WPFWPF data binding model enables you to associate validation rules with your Binding object. 변환기가 호출 되기 전에 유효성 검사 대상에서 소스로 값을 전송 하는 동안 발생 합니다.Validation occurs during target-to-source value transfer before the converter is called. 다음에서는 유효성 검사 프로세스를 설명합니다.The following describes the validation process.

  1. 대상 속성은 소스 속성 값이 전송 중인 경우 데이터 바인딩 엔진 먼저 제거 합니다 ValidationError 에 추가 된 수는 Validation.Errors 바인딩된 요소의 속성을 연결 합니다.When a value is being transferred from the target property to the source property, the data binding engine first removes any ValidationError that might have been added to the Validation.Errors attached property of the bound element. 사용자 지정 유효성 검사 규칙에 정의 되어 있는지 확인 한 다음 Binding, 호출 하는 경우에 Validate 각 메서드 ValidationRule 실패할 때까지 또는 모든까지 전달 합니다.It then checks whether any custom validation rules are defined for that Binding, in which case it calls the Validate method on each ValidationRule until one of them fails or until all of them pass.

  2. 통과 하지 않는 사용자 지정 규칙을 되 면 바인딩 엔진 만듭니다는 ValidationError 개체에 추가 합니다는 Validation.Errors 바인딩된 요소의 컬렉션입니다.Once there is a custom rule that does not pass, the binding engine creates a ValidationError object and adds it to the Validation.Errors collection of the bound element. Validation.Errors 비어 있지 않으며이 Validation.HasError 연결 된 요소의 속성이 true합니다.When Validation.Errors is not empty, the Validation.HasError attached property of the element is set to true. 또한 경우를 NotifyOnValidationError 의 속성을 Binding 로 설정 되어 true, 바인딩 엔진을 Validation.Error 요소에서 연결 된 이벤트.Also, if the NotifyOnValidationError property of the Binding is set to true, then the binding engine raises the Validation.Error attached event on the element.

  3. 모든 규칙이 통과 하는 경우 있을 경우 바인딩 엔진이 다음 변환기를 호출 합니다.If all the rules pass, the binding engine then calls the converter, if one exists.

  4. 변환기가 통과 하는 경우 바인딩 엔진이 소스 속성의 setter를 호출 합니다.If the converter passes, the binding engine calls the setter of the source property.

  5. 바인딩에 ExceptionValidationRule 연결 되어 있는지 확인 하려면 바인딩 엔진 확인 단계 3 또는 4 중 예외가 발생은 UpdateSourceExceptionFilter합니다.If the binding has an ExceptionValidationRule associated with it and an exception is thrown during step 3 or 4, the binding engine checks to see if there is an UpdateSourceExceptionFilter. 사용할 수는 UpdateSourceExceptionFilter 예외 처리에 대 한 사용자 지정 처리기를 제공 하는 콜백 합니다.You can use the UpdateSourceExceptionFilter callback to provide a custom handler for handling exceptions. 경우는 UpdateSourceExceptionFilter 에 지정 되어 있지는 Binding, 바인딩 엔진에서 만드는 ValidationError 예외를 사용 하 여에 추가 Validation.Errors 바인딩된 요소의 컬렉션입니다.If an UpdateSourceExceptionFilter is not specified on the Binding, the binding engine creates a ValidationError with the exception and adds it to the Validation.Errors collection of the bound element.

유효한 값을 전송 (대상에서 소스로 또는 소스에서 대상) 어느 방향으로든 지워집니다는 Validation.Errors 연결 된 속성입니다.A valid value transfer in either direction (target to source or source to target) will clear the Validation.Errors attached property.

생성자

ValidationError(ValidationRule, Object)

지정된 매개 변수를 사용하여 ValidationError 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ValidationError class with the specified parameters.

ValidationError(ValidationRule, Object, Object, Exception)

지정된 매개 변수를 사용하여 ValidationError 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ValidationError class with the specified parameters.

속성

BindingInError

BindingExpressionMultiBindingExpression 또는 ValidationError 개체를 가져옵니다.Gets the BindingExpression or MultiBindingExpression object of this ValidationError. 개체가 명시적으로 잘못된 개체로 표시되거나 개체에 실패한 유효성 검사 규칙이 있습니다.The object is either marked invalid explicitly or has a failed validation rule.

ErrorContent

ValidationError에 대한 추가 컨텍스트를 제공하는 개체(예: 오류를 설명하는 문자열)를 가져오거나 설정합니다.Gets or sets an object that provides additional context for this ValidationError, such as a string describing the error.

Exception

오류가 예외의 결과인 경우 이 Exception의 원인이 된 ValidationError 개체를 가져오거나 설정합니다.Gets or sets the Exception object that was the cause of this ValidationError, if the error is the result of an exception.

RuleInError

오류가 유효성 검사 규칙의 결과인 경우 이 ValidationRule의 원인이 된 ValidationError 개체를 가져오거나 설정합니다.Gets or sets the ValidationRule object that was the cause of this ValidationError, if the error is the result of a validation rule.

메서드

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

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

기본 해시 함수로 작동합니다.Serves as the default hash function.

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

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

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

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

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

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

적용 대상

추가 정보