ValidationRule.Validate Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Führt Validierungsprüfungen für einen Wert aus.
Überlädt
Validate(Object, CultureInfo) |
Führt beim Überschreiben in einer abgeleiteten Klasse Validierungsüberprüfungen für einen Wert aus. |
Validate(Object, CultureInfo, BindingExpressionBase) |
Führt Validierungsprüfungen für einen Wert aus. |
Validate(Object, CultureInfo, BindingGroup) |
Führt Validierungsprüfungen für einen Wert aus. |
Validate(Object, CultureInfo)
Führt beim Überschreiben in einer abgeleiteten Klasse Validierungsüberprüfungen für einen Wert aus.
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
Parameter
- value
- Object
Der Wert aus dem zu überprüfenden Bindungsziel.
- cultureInfo
- CultureInfo
Die in dieser Regel zu verwendende Kultur.
Gibt zurück
Ein ValidationResult-Objekt.
Beispiele
Im folgenden Beispiel wird gezeigt, wie eine Validierungsregel implementiert wird. Im folgenden Beispiel ist der Eingabewert ungültig, wenn er nicht numerische Zeichen enthält oder sich außerhalb der Unter- und Obergrenze befindet. Wenn der Eingabewert ungültig ist, wird die ErrorContent -Eigenschaft auf die entsprechende Fehlermeldung und die IsValid -Eigenschaft auf false
festgelegt.
Das vollständige Beispiel finden Sie unter Vorgehensweise: Implementieren der Bindungsüberprüfung.
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;
}
}
Hinweise
Sie müssen diese Methode implementieren, wenn Sie eine Unterklasse der ValidationRule -Klasse erstellen, um eine benutzerdefinierte Validierungsregel zu erstellen.
Jedes Mal, wenn die Datenbindungs-Engine einen Wert von der Bindungszieleigenschaft (von der Benutzereingabe) an die Bindungsquelleigenschaft (die zugrunde liegenden Daten) überträgt, überprüft sie, ob für diese Bindung definiert ValidationRules sind. Wenn ValidationRules für die Bindung definiert sind, ruft die Engine die Validate -Methode für jede ValidationRule auf, bis einer von ihnen einen Fehler findet oder bis alle erfolgreich sind.
Ausführliche Informationen zur Datenüberprüfung finden Sie unter Übersicht über die Datenbindung.
Weitere Informationen
Gilt für:
Validate(Object, CultureInfo, BindingExpressionBase)
Führt Validierungsprüfungen für einen Wert aus.
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
Parameter
- value
- Object
Der Wert aus dem zu überprüfenden Bindungsziel.
- cultureInfo
- CultureInfo
Die in dieser Regel zu verwendende Kultur.
- owner
- BindingExpressionBase
Der Bindungsausdruck, der die Validierungsregel benutzt.
Gibt zurück
Ein ValidationResult-Objekt.
Gilt für:
Validate(Object, CultureInfo, BindingGroup)
Führt Validierungsprüfungen für einen Wert aus.
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
Parameter
- value
- Object
Der Wert aus dem zu überprüfenden Bindungsziel.
- cultureInfo
- CultureInfo
Die in dieser Regel zu verwendende Kultur.
- owner
- BindingGroup
Die Bindungsgruppe, die die Validierungsregel benutzt.
Gibt zurück
Ein ValidationResult-Objekt.