ValidationRule Classe

Definizione

Consente di creare una regola personalizzata per controllare la validità dell'input utente.

public ref class ValidationRule abstract
public abstract class ValidationRule
type ValidationRule = class
Public MustInherit Class ValidationRule
Ereditarietà
ValidationRule
Derivato

Esempio

Nell'esempio seguente viene illustrato come implementare una regola di convalida. Il valore di input non è valido se contiene caratteri non numerici o se è esterno ai limiti inferiori e superiori. Se il valore del restituito ValidationResult non è valido, la ErrorContent proprietà è impostata sul messaggio di errore appropriato e la IsValid proprietà è 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

Quando si usa il modello di data binding WPF, è possibile associare ValidationRules all'oggetto binding. Per creare regole personalizzate, creare una sottoclasse di questa classe e implementare il Validate metodo. Facoltativamente, usare l'elemento predefinito ExceptionValidationRule, che rileva le eccezioni generate durante gli aggiornamenti di origine o DataErrorValidationRule, che controlla gli errori generati dall'implementazione IDataErrorInfo dell'oggetto di origine.

Il motore di associazione controlla ogni ValidationRule oggetto associato a un'associazione ogni volta che trasferisce un valore di input, ovvero il valore della proprietà di destinazione di associazione, alla proprietà di origine di associazione.

Per informazioni dettagliate sulla convalida dei dati, vedere Panoramica del data binding.

Per informazioni su come convalidare i dati forniti dall'utente in una finestra di dialogo, vedere Panoramica delle finestre di dialogo.

Costruttori

ValidationRule()

Inizializza una nuova istanza della classe ValidationRule.

ValidationRule(ValidationStep, Boolean)

Inizializza una nuova istanza della classe ValidationRule con il passaggio di convalida specificato e un valore che indica se la regola di convalida viene eseguita all'aggiornamento della destinazione.

Proprietà

ValidatesOnTargetUpdated

Ottiene o imposta un valore che indica se la regola di convalida viene eseguita all'aggiornamento della destinazione di Binding.

ValidationStep

Ottiene o imposta il momento in cui viene eseguita la regola di convalida.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
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.

Si applica a

Vedi anche