ValidationRule.Validate Método

Definição

Executa as verificações de validação em um valor.

Sobrecargas

Validate(Object, CultureInfo)

Quando substituído em uma classe derivada, executa verificações de validação em um valor.

Validate(Object, CultureInfo, BindingExpressionBase)

Executa as verificações de validação em um valor.

Validate(Object, CultureInfo, BindingGroup)

Executa as verificações de validação em um valor.

Validate(Object, CultureInfo)

Quando substituído em uma classe derivada, executa verificações de validação em um valor.

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

Parâmetros

value
Object

O valor do destino da associação a ser verificado.

cultureInfo
CultureInfo

A cultura a ser usada nesta regra.

Retornos

ValidationResult

Um objeto ValidationResult.

Exemplos

O exemplo a seguir mostra como implementar uma regra de validação. No exemplo a seguir, o valor de entrada será inválido se contiver caracteres não numéricos ou se estiver fora dos limites inferior e superior. Se o valor de entrada for inválido, a ErrorContent propriedade será definida como a mensagem de erro apropriada e a IsValid propriedade será definida como false.

Para obter o exemplo completo, consulte Como implementar a validação de associação.

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

Comentários

Você deve implementar esse método ao criar uma subclasse da ValidationRule classe para criar uma regra de validação personalizada.

Sempre que o mecanismo de associação de dados transfere um valor da propriedade de destino de associação (da entrada do usuário) para a propriedade de origem de associação (os dados subjacentes), ele verifica se alguma ValidationRules delas está definida para essa associação. Se ValidationRules forem definidos para a associação, o mecanismo chamará o Validate método em cada ValidationRule um deles até que um deles encontre um erro ou até que todos eles passem.

Para obter informações detalhadas sobre a validação de dados, consulte Visão geral da Associação de Dados.

Confira também

Aplica-se a

Validate(Object, CultureInfo, BindingExpressionBase)

Executa as verificações de validação em um valor.

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

Parâmetros

value
Object

O valor do destino da associação a ser verificado.

cultureInfo
CultureInfo

A cultura a ser usada nesta regra.

owner
BindingExpressionBase

A expressão de associação que usa a regra de validação.

Retornos

ValidationResult

Um objeto ValidationResult.

Aplica-se a

Validate(Object, CultureInfo, BindingGroup)

Executa as verificações de validação em um valor.

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

Parâmetros

value
Object

O valor do destino da associação a ser verificado.

cultureInfo
CultureInfo

A cultura a ser usada nesta regra.

owner
BindingGroup

O grupo de associação que usa a regra de validação.

Retornos

ValidationResult

Um objeto ValidationResult.

Aplica-se a