ValidationRule.Validate Metodo

Definizione

Esegue controlli di convalida su un valore.

Overload

Validate(Object, CultureInfo)

In caso di override in una classe derivata, esegue i controlli di convalida su un valore.

Validate(Object, CultureInfo, BindingExpressionBase)

Esegue controlli di convalida su un valore.

Validate(Object, CultureInfo, BindingGroup)

Esegue controlli di convalida su un valore.

Validate(Object, CultureInfo)

In caso di override in una classe derivata, esegue i controlli di convalida su un valore.

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

Parametri

value
Object

Valore dalla destinazione del binding da controllare.

cultureInfo
CultureInfo

Impostazioni cultura da usare nella regola.

Restituisce

ValidationResult

Un oggetto ValidationResult.

Esempio

Nell'esempio seguente viene illustrato come implementare una regola di convalida. Nell'esempio seguente il valore di input non è valido se contiene caratteri non numerici o se è esterno ai limiti inferiore e superiore. Se il valore di input non è valido, la ErrorContent proprietà viene impostata sul messaggio di errore appropriato e la IsValid proprietà viene impostata su false .

Per l'esempio completo, vedere procedura: implementare la convalida dell'associazione.

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

Commenti

È necessario implementare questo metodo quando si crea una sottoclasse della ValidationRule classe per creare una regola di convalida personalizzata.

Ogni volta che il motore di data binding trasferisce un valore dalla proprietà di destinazione del binding (dall'input dell'utente) alla proprietà di origine del binding, ovvero i dati sottostanti, verifica se ValidationRules sono definiti per tale associazione. Se ValidationRules vengono definiti per l'associazione, il motore chiama il Validate metodo su ogni oggetto ValidationRule fino a quando uno di essi non trova un errore o fino a quando non vengono superati tutti.

Per informazioni dettagliate sulla convalida dei dati, vedere Cenni preliminari sul data binding.

Vedi anche

Si applica a

Validate(Object, CultureInfo, BindingExpressionBase)

Esegue controlli di convalida su un valore.

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

Parametri

value
Object

Valore dalla destinazione del binding da controllare.

cultureInfo
CultureInfo

Impostazioni cultura da usare nella regola.

owner
BindingExpressionBase

L'espressione di associazione che utilizza la regola di convalida.

Restituisce

ValidationResult

Un oggetto ValidationResult.

Si applica a

Validate(Object, CultureInfo, BindingGroup)

Esegue controlli di convalida su un valore.

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

Parametri

value
Object

Valore dalla destinazione del binding da controllare.

cultureInfo
CultureInfo

Impostazioni cultura da usare nella regola.

owner
BindingGroup

Il gruppo di associazione che utilizza la regola di convalida.

Restituisce

ValidationResult

Un oggetto ValidationResult.

Si applica a