Aracılığıyla paylaş


ValidationError Sınıf

Tanım

Bir doğrulama hatası bildirdiğinde ValidationRule bağlama altyapısı tarafından veya yöntemi aracılığıyla açıkça oluşturulan doğrulama hatasını MarkInvalid(BindingExpressionBase, ValidationError) temsil eder.

public ref class ValidationError
public class ValidationError
type ValidationError = class
Public Class ValidationError
Devralma
ValidationError

Örnekler

Aşağıdaki örnekte, doğrulama hata iletisini bildiren bir ToolTip stil tetikleyicisi gösterilmektedir. Validation.Errors Ekli özellik, ilişkili öğede bir nesne koleksiyonu ValidationError döndürür.

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

Açıklamalar

WPF veri bağlama modeli, doğrulama kurallarını nesnenizle ilişkilendirmenizi Binding sağlar. Doğrulama, dönüştürücü çağrılmadan önce hedef kaynak değer aktarımı sırasında gerçekleşir. Doğrulama işlemi aşağıda açıklanmaktadır.

  1. Hedef özellikten kaynak özelliğe bir değer aktarıldığında, veri bağlama altyapısı önce ilişkili öğenin ekli özelliğine Validation.Errors eklenmiş olabilecekleri ValidationError kaldırır. Ardından, bu için herhangi bir özel doğrulama kuralının tanımlanıp tanımlanmadığını Bindingdenetler. Bu durumda, biri başarısız olana kadar veya hepsi geçene kadar her birinde ValidationRule yöntemini çağırırValidate.

  2. Geçmeyen özel bir kural olduğunda bağlama altyapısı bir ValidationError nesnesi oluşturur ve bunu ilişkili öğenin koleksiyonuna Validation.Errors ekler. Validation.Errors Boş olmadığında, öğesinin Validation.HasError ekli özelliği olarak trueayarlanır. Ayrıca, Binding öğesinin NotifyOnValidationError özelliği true olarak ayarlanırsa, bağlama altyapısı öğesinde ekli Validation.Error olayını tetikler.

  3. Tüm kurallar geçerse, bağlama altyapısı varsa dönüştürücüsünü çağırır.

  4. Dönüştürücü geçerse, bağlama altyapısı kaynak özelliğin ayarlayıcısını çağırır.

  5. Bağlamanın kendisiyle ilişkilendirilmiş bir ExceptionValidationRule değeri varsa ve 3 veya 4. adım sırasında bir özel durum oluşursa, bağlama altyapısı bir UpdateSourceExceptionFilterolup olmadığını denetler. Özel durumları işlemek için özel bir işleyici sağlamak üzere UpdateSourceExceptionFilter geri çağırmayı kullanabilirsiniz. üzerinde belirtilmezseUpdateSourceExceptionFilter, bağlama altyapısı özel durumu olan bir ValidationError oluşturur ve bunu ilişkili öğenin koleksiyonuna Validation.Errors ekler.Binding

Her iki yönde de geçerli bir değer aktarımı (hedefe hedef veya hedefe kaynak) ekli özelliği temizler Validation.Errors .

Oluşturucular

ValidationError(ValidationRule, Object, Object, Exception)

Belirtilen parametrelerle sınıfının yeni bir örneğini ValidationError başlatır.

ValidationError(ValidationRule, Object)

Belirtilen parametrelerle sınıfının yeni bir örneğini ValidationError başlatır.

Özellikler

BindingInError

Bu ValidationErroröğesinin BindingExpression veya MultiBindingExpression nesnesini alır. Nesne açıkça geçersiz olarak işaretlendi veya doğrulama kuralı başarısız oldu.

ErrorContent

Bu ValidationErroriçin hatayı açıklayan bir dize gibi ek bağlam sağlayan bir nesnesi alır veya ayarlar.

Exception

Hata bir özel durumun sonucuysa, bunun ValidationErrornedeni olan nesneyi alır veya ayarlarException.

RuleInError

Hata bir doğrulama kuralının ValidationRule sonucuysa, bu ValidationErroröğesinin nedeni olan nesneyi alır veya ayarlar.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.