Condividi tramite


ValidationRule Classe

Definizione

Consente di creare una regola personalizzata per verificare la validità dell'input dell'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 si trova all'esterno dei limiti inferiori e superiori. Se il valore dell'oggetto restituito ValidationResult non è valido, la ErrorContent proprietà viene 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 l'oggetto binding. Per creare regole personalizzate, creare una sottoclasse di questa classe e implementare il Validate metodo . Facoltativamente, usare l'oggetto predefinito ExceptionValidationRule, che intercetta le eccezioni generate durante gli aggiornamenti di origine o DataErrorValidationRule, che verifica la presenza di errori generati dall'implementazione IDataErrorInfo dell'oggetto di origine.

Il motore di associazione controlla ogni ValidationRule associazione associata a un'associazione ogni volta che trasferisce un valore di input, ovvero il valore della proprietà di destinazione dell'associazione, alla proprietà di origine dell'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

Nome Descrizione
ValidationRule()

Inizializza una nuova istanza della classe ValidationRule.

ValidationRule(ValidationStep, Boolean)

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

Proprietà

Nome Descrizione
ValidatesOnTargetUpdated

Ottiene o imposta un valore che indica se la regola di convalida viene eseguita quando la destinazione dell'oggetto Binding viene aggiornata.

ValidationStep

Ottiene o imposta quando viene eseguita la regola di convalida.

Metodi

Nome Descrizione
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 il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

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

Quando sottoposto a override in una classe derivata, esegue controlli di convalida su un valore.

Si applica a

Vedi anche