Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

ValidationRule-Klasse

Bietet eine Möglichkeit, eine benutzerdefinierte Regel zu erstellen, um die Gültigkeit von Benutzereingaben zu überprüfen.

Namespace:  System.Windows.Controls
Assembly:  PresentationFramework (in PresentationFramework.dll)
public abstract class ValidationRule

Der ValidationRule-Typ macht die folgenden Member verfügbar.

  Name Beschreibung
Geschützte Methode ValidationRule() Initialisiert eine neue Instanz der ValidationRule-Klasse.
Geschützte Methode ValidationRule(ValidationStep, Boolean) Initialisiert eine neue Instanz der ValidationRule-Klasse mit dem angegebenen Validierungsschritt und einem Wert, der angibt, ob die Validierungsregel beim Aktualisieren des Ziels ausgeführt wird.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Eigenschaft ValidatesOnTargetUpdated Ruft einen Wert ab, der angibt, ob die Validierungsregel ausgeführt wird, wenn das Ziel der Binding aktualisiert wird, oder legt diesen Wert fest.
Öffentliche Eigenschaft ValidationStep Ruft ab oder legt fest, wann die Validierungsregel ausgeführt wird.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Methode Equals(Object) Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.)
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche Methode Validate Führt beim Überschreiben in einer abgeleiteten Klasse Validierungsprüfungen für einen Wert durch.
Zum Seitenanfang

Wenn Sie das WPF-Datenbindungsmodell verwenden, können Sie Ihrem Bindungsobjekt ValidationRules zuordnen. Zum Erstellen benutzerdefinierter Regeln erstellen Sie eine Unterklasse dieser Klasse und implementieren anschließend die Validate-Methode. Optional können Sie die integrierte ExceptionValidationRule verwenden, die Ausnahmen abfängt, die während Aktualisierungen von Datenquellen ausgelöst werden, oder die DataErrorValidationRule, die überprüft, ob die IDataErrorInfo-Implementierung des Quellobjekts Fehler ausgelöst hat.

Das Bindungsmodul überprüft jede ValidationRule, die einer Bindung zugeordnet ist, bei jeder Übermittlung eines Eingabewerts, also des Eigenschaftswerts des Bindungsziels, an die Eigenschaft der Bindungsquelle.

Ausführliche Informationen zur Datenvalidierung finden Sie unter Übersicht über Datenbindung.

Informationen zur Überprüfung von Daten, die vom Benutzer in einem Dialogfeld bereitgestellt werden, finden Sie unter Übersicht über Dialogfelder.

Im folgenden Codebeispiel wird die Implementierung einer Validierungsregel veranschaulicht. Der Eingabewert ist ungültig, wenn er nicht numerische Zeichen enthält oder außerhalb der unteren oder oberen Grenze liegt. Wenn der Wert des zurückgegebenen ValidationResult ungültig ist, wird die ErrorContent-Eigenschaft auf eine entsprechende Fehlermeldung und die IsValid-Eigenschaft auf false festgelegt.

Das vollständige Beispiel finden Sie unter Gewusst wie: Implementieren der Bindungsvalidierung.


public class AgeRangeRule : ValidationRule
{
    private int _min;
    private int _max;

    public AgeRangeRule()
    {
    }

    public int Min
    {
        get { return _min; }
        set { _min = value; }
    }

    public int Max
    {
        get { return _max; }
        set { _max = value; }
    }

    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 + ".");
        }
        else
        {
            return new ValidationResult(true, null);
        }
    }
}


.NET Framework

Unterstützt in: 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?