Bagikan melalui


ValidationError Kelas

Definisi

Mewakili kesalahan validasi yang dibuat baik oleh mesin pengikatan saat ValidationRule melaporkan kesalahan validasi, atau melalui MarkInvalid(BindingExpressionBase, ValidationError) metode secara eksplisit.

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

Contoh

Contoh berikut menunjukkan pemicu gaya yang membuat yang ToolTip melaporkan pesan kesalahan validasi. Properti Validation.Errors terlampir mengembalikan kumpulan ValidationError objek pada elemen terikat.

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

Keterangan

Model pengikatan data WPF memungkinkan Anda mengaitkan aturan validasi dengan objek Anda Binding . Validasi terjadi selama transfer nilai target-ke-sumber sebelum konverter dipanggil. Berikut ini menjelaskan proses validasi.

  1. Ketika nilai sedang ditransfer dari properti target ke properti sumber, mesin pengikatan data terlebih dahulu menghapus apa pun ValidationError yang mungkin telah ditambahkan ke Validation.Errors properti terlampir dari elemen terikat. Kemudian memeriksa apakah ada aturan validasi kustom yang didefinisikan untuk itu Binding, dalam hal ini memanggil Validate metode pada masing-masing ValidationRule hingga salah satu dari mereka gagal atau sampai semuanya lulus.

  2. Setelah ada aturan kustom yang tidak lulus, mesin pengikatan membuat ValidationError objek dan menambahkannya ke Validation.Errors koleksi elemen terikat. Ketika Validation.Errors tidak kosong, Validation.HasError properti terlampir dari elemen diatur ke true. Selain itu NotifyOnValidationError , jika properti diatur Binding ke true, maka mesin pengikatan menaikkan Validation.Error peristiwa yang terpasang pada elemen .

  3. Jika semua aturan lolos, mesin pengikatan kemudian memanggil pengonversi, jika ada.

  4. Jika pengonversi lolos, mesin pengikatan memanggil setter properti sumber.

  5. Jika pengikatan memiliki yang ExceptionValidationRule terkait dengannya dan pengecualian dilemparkan selama langkah 3 atau 4, mesin pengikatan memeriksa untuk melihat apakah ada UpdateSourceExceptionFilter. Anda dapat menggunakan UpdateSourceExceptionFilter panggilan balik untuk menyediakan handler kustom untuk menangani pengecualian. UpdateSourceExceptionFilter Jika tidak ditentukan pada Binding, mesin pengikatan membuat ValidationError dengan pengecualian dan menambahkannya ke Validation.Errors koleksi elemen terikat.

Transfer nilai yang valid ke kedua arah (target ke sumber atau sumber ke target) akan menghapus Validation.Errors properti terlampir.

Konstruktor

Nama Deskripsi
ValidationError(ValidationRule, Object, Object, Exception)

Menginisialisasi instans ValidationError baru kelas dengan parameter yang ditentukan.

ValidationError(ValidationRule, Object)

Menginisialisasi instans ValidationError baru kelas dengan parameter yang ditentukan.

Properti

Nama Deskripsi
BindingInError

BindingExpression Mendapatkan objek atau MultiBindingExpression dari ini ValidationError. Objek ditandai tidak valid secara eksplisit atau memiliki aturan validasi yang gagal.

ErrorContent

Mendapatkan atau mengatur objek yang menyediakan konteks tambahan untuk ini ValidationError, seperti string yang menjelaskan kesalahan.

Exception

Mendapatkan atau mengatur Exception objek yang menjadi penyebabnya ValidationError, jika kesalahan adalah hasil pengecualian.

RuleInError

Mendapatkan atau mengatur ValidationRule objek yang menjadi penyebabnya ValidationError, jika kesalahan adalah hasil dari aturan validasi.

Metode

Nama Deskripsi
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga