ValidationRule.Validate 메서드

정의

값에 대한 유효성 검사를 수행합니다.Performs validation checks on a value.

오버로드

Validate(Object, CultureInfo)

파생 클래스에서 재정의된 경우 값의 유효성을 검사합니다.When overridden in a derived class, performs validation checks on a value.

Validate(Object, CultureInfo, BindingExpressionBase)

값에 대한 유효성 검사를 수행합니다.Performs validation checks on a value.

Validate(Object, CultureInfo, BindingGroup)

값에 대한 유효성 검사를 수행합니다.Performs validation checks on a value.

Validate(Object, CultureInfo)

파생 클래스에서 재정의된 경우 값의 유효성을 검사합니다.When overridden in a derived class, performs validation checks on a value.

public:
 abstract System::Windows::Controls::ValidationResult ^ Validate(System::Object ^ value, System::Globalization::CultureInfo ^ cultureInfo);
public abstract System.Windows.Controls.ValidationResult Validate (object value, System.Globalization.CultureInfo cultureInfo);
abstract member Validate : obj * System.Globalization.CultureInfo -> System.Windows.Controls.ValidationResult
Public MustOverride Function Validate (value As Object, cultureInfo As CultureInfo) As ValidationResult

매개 변수

value
Object

검사할 바인딩 대상의 값입니다.The value from the binding target to check.

cultureInfo
CultureInfo

이 규칙에 사용할 문화권입니다.The culture to use in this rule.

반환

ValidationResult

ValidationResult 개체입니다.A ValidationResult object.

예제

다음 예제에서는 유효성 검사 규칙을 구현 하는 방법을 보여 줍니다.The following example shows how to implement a validation rule. 다음 예제에서는 숫자가 아닌 문자를 포함 하거나 하위 및 상한 외부에 있는 경우 입력 값이 유효 하지 않습니다.In the following example, the input value is invalid if it contains non-numeric characters or if it is outside the lower and upper bounds. 입력 값이 잘못 된 경우 속성은 ErrorContent 적절 한 오류 메시지로 설정 되 고 IsValid 속성은로 설정 됩니다 false .If the input value is invalid, the ErrorContent property is set to the appropriate error message and the IsValid property is set to false.

전체 예제를 참조 하세요 방법: 바인딩 유효성 검사 구현합니다.For the complete example, see How to: Implement Binding Validation.

public class AgeRangeRule : ValidationRule
{
    public int Min { get; set; }
    public int Max { get; set; }
    
    public AgeRangeRule()
    {
    }

    public override ValidationResult Validate(object value, CultureInfo cultureInfo)
    {
        int age = 0;

        try
        {
            if (((string)value).Length > 0)
                age = Int32.Parse((String)value);
        }
        catch (Exception e)
        {
            return new ValidationResult(false, $"Illegal characters or {e.Message}");
        }

        if ((age < Min) || (age > Max))
        {
            return new ValidationResult(false,
              $"Please enter an age in the range: {Min}-{Max}.");
        }
        return ValidationResult.ValidResult;
    }
}

설명

ValidationRule사용자 지정 유효성 검사 규칙을 만들기 위해 클래스의 서브 클래스를 만들 때이 메서드를 구현 해야 합니다.You must implement this method when you create a subclass of the ValidationRule class in order to create a custom validation rule.

데이터 바인딩 엔진은 바인딩 대상 속성 (사용자 입력)에서 바인딩 대상 속성 (기본 데이터)으로 값을 전송할 때마다 해당 바인딩에 대해이 정의 되어 있는지 여부를 확인 ValidationRules 합니다.Each time the data binding engine transfers a value from the binding target property (from user input) to the binding source property (the underlying data), it checks whether any ValidationRules are defined for that binding. ValidationRules가 바인딩에 대해 정의 된 경우 엔진은 Validate ValidationRule 해당 오류를 찾거나 모두 통과 될 때까지 각에 대해 메서드를 호출 합니다.If ValidationRules are defined for the binding, the engine calls the Validate method on each ValidationRule until one of them finds an error or until all of them pass.

데이터 유효성 검사에 대 한 자세한 내용은 데이터 바인딩 개요를 참조 하세요.For detailed information about data validation, see Data Binding Overview.

추가 정보

적용 대상

Validate(Object, CultureInfo, BindingExpressionBase)

값에 대한 유효성 검사를 수행합니다.Performs validation checks on a value.

public:
 virtual System::Windows::Controls::ValidationResult ^ Validate(System::Object ^ value, System::Globalization::CultureInfo ^ cultureInfo, System::Windows::Data::BindingExpressionBase ^ owner);
public virtual System.Windows.Controls.ValidationResult Validate (object value, System.Globalization.CultureInfo cultureInfo, System.Windows.Data.BindingExpressionBase owner);
abstract member Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingExpressionBase -> System.Windows.Controls.ValidationResult
override this.Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingExpressionBase -> System.Windows.Controls.ValidationResult
Public Overridable Function Validate (value As Object, cultureInfo As CultureInfo, owner As BindingExpressionBase) As ValidationResult

매개 변수

value
Object

검사할 바인딩 대상의 값입니다.The value from the binding target to check.

cultureInfo
CultureInfo

이 규칙에 사용할 문화권입니다.The culture to use in this rule.

owner
BindingExpressionBase

유효성 검사 규칙을 사용하는 바인딩 식입니다.The binding expression that uses the validation rule.

반환

ValidationResult

ValidationResult 개체입니다.A ValidationResult object.

적용 대상

Validate(Object, CultureInfo, BindingGroup)

값에 대한 유효성 검사를 수행합니다.Performs validation checks on a value.

public:
 virtual System::Windows::Controls::ValidationResult ^ Validate(System::Object ^ value, System::Globalization::CultureInfo ^ cultureInfo, System::Windows::Data::BindingGroup ^ owner);
public virtual System.Windows.Controls.ValidationResult Validate (object value, System.Globalization.CultureInfo cultureInfo, System.Windows.Data.BindingGroup owner);
abstract member Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingGroup -> System.Windows.Controls.ValidationResult
override this.Validate : obj * System.Globalization.CultureInfo * System.Windows.Data.BindingGroup -> System.Windows.Controls.ValidationResult
Public Overridable Function Validate (value As Object, cultureInfo As CultureInfo, owner As BindingGroup) As ValidationResult

매개 변수

value
Object

검사할 바인딩 대상의 값입니다.The value from the binding target to check.

cultureInfo
CultureInfo

이 규칙에 사용할 문화권입니다.The culture to use in this rule.

owner
BindingGroup

유효성 검사 규칙을 사용하는 바인딩 그룹입니다.The binding group that uses the validation rule.

반환

ValidationResult

ValidationResult 개체입니다.A ValidationResult object.

적용 대상