ValidationRule.Validate Metódus

Definíció

Érvényesítési ellenőrzéseket végez egy értéken.

Túlterhelések

Name Description
Validate(Object, CultureInfo)

Ha egy származtatott osztályban felül van bírálva, érvényesítési ellenőrzéseket hajt végre egy értéken.

Validate(Object, CultureInfo, BindingExpressionBase)

Érvényesítési ellenőrzéseket végez egy értéken.

Validate(Object, CultureInfo, BindingGroup)

Érvényesítési ellenőrzéseket végez egy értéken.

Validate(Object, CultureInfo)

Ha egy származtatott osztályban felül van bírálva, érvényesítési ellenőrzéseket hajt végre egy értéken.

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

Paraméterek

value
Object

Az ellenőrizni kívánt kötési cél értéke.

cultureInfo
CultureInfo

A szabályban használandó kultúra.

Válaszok

Egy ValidationResult objektum.

Példák

Az alábbi példa bemutatja, hogyan valósíthat meg érvényesítési szabályt. Az alábbi példában a bemeneti érték érvénytelen, ha nem numerikus karaktereket tartalmaz, vagy ha az alsó és a felső határon kívül esik. Ha a bemeneti érték érvénytelen, a ErrorContent tulajdonság a megfelelő hibaüzenetre van állítvaIsValid, a tulajdonság értéke pedig a false következő.

A teljes példa: Útmutató: Kötésérvényesítés implementálása.

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

Megjegyzések

Ezt a módszert az osztály alosztályának ValidationRule létrehozásakor kell implementálnia egy egyéni érvényesítési szabály létrehozásához.

Minden alkalommal, amikor az adatkötési motor átad egy értéket a kötés céltulajdonságából (a felhasználói bemenetből) a kötés forrástulajdonságára (az alapul szolgáló adatokra), ellenőrzi, hogy vannak-e ValidationRules definiálva a kötéshez. Ha ValidationRules a kötéshez definiálva van, a motor mindaddig Validate meghívja a ValidationRule metódust, amíg egyikük hibát nem talál, vagy amíg az összes nem teljesül.

Az adatérvényesítéssel kapcsolatos részletes információkért tekintse meg az adatkötések áttekintését.

Lásd még

A következőre érvényes:

Validate(Object, CultureInfo, BindingExpressionBase)

Érvényesítési ellenőrzéseket végez egy értéken.

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

Paraméterek

value
Object

Az ellenőrizni kívánt kötési cél értéke.

cultureInfo
CultureInfo

A szabályban használandó kultúra.

owner
BindingExpressionBase

Az érvényesítési szabályt használó kötési kifejezés.

Válaszok

Egy ValidationResult objektum.

A következőre érvényes:

Validate(Object, CultureInfo, BindingGroup)

Érvényesítési ellenőrzéseket végez egy értéken.

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

Paraméterek

value
Object

Az ellenőrizni kívánt kötési cél értéke.

cultureInfo
CultureInfo

A szabályban használandó kultúra.

owner
BindingGroup

Az érvényesítési szabályt használó kötéscsoport.

Válaszok

Egy ValidationResult objektum.

A következőre érvényes: