ValidationRule Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece uma forma de criar uma regra personalizada para verificar a validade das entradas do utilizador.
public ref class ValidationRule abstract
public abstract class ValidationRule
type ValidationRule = class
Public MustInherit Class ValidationRule
- Herança
-
ValidationRule
- Derivado
Exemplos
O exemplo seguinte mostra como implementar uma regra de validação. O valor de entrada é inválido se contiver caracteres não numéricos ou se estiver fora dos limites inferior e superior. Se o valor do devolvido ValidationResult for inválido, a ErrorContent propriedade é definida para a mensagem de erro apropriada e a IsValid propriedade para false.
Para o exemplo completo, veja Como: Implementar a Validação de Vinculaçã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;
}
}
Observações
Quando usas o modelo de ligação de dados WPF, podes associar ValidationRules ao teu objeto de ligação. Para criar regras personalizadas, crie uma subclasse desta classe e implemente o Validate método. Opcionalmente, use o incorporado ExceptionValidationRule, que apanha exceções lançadas durante as atualizações de código-fonte, ou o DataErrorValidationRule, que verifica erros gerados pela IDataErrorInfo implementação do objeto de origem.
O motor de ligação verifica cada um ValidationRule que está associado a uma ligação sempre que transfere um valor de entrada, que é o valor da propriedade alvo de ligação, para a propriedade de origem de ligação.
Para informações detalhadas sobre validação de dados, consulte Visão Geral da Ligação de Dados.
Para informações sobre como validar dados fornecidos pelo utilizador numa caixa de diálogo, consulte Visão Geral das Caixas de Diálogo.
Construtores
| Name | Description |
|---|---|
| ValidationRule() |
Inicializa uma nova instância da ValidationRule classe. |
| ValidationRule(ValidationStep, Boolean) |
Inicializa uma nova instância da ValidationRule classe com o passo de validação especificado e um valor que indica se a regra de validação é executada quando o destino é atualizado. |
Propriedades
| Name | Description |
|---|---|
| ValidatesOnTargetUpdated |
Recebe ou define um valor que indica se a regra de validação é executada quando o destino do Binding é atualizado. |
| ValidationStep |
Recebe ou define quando a regra de validação é executada. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
| Validate(Object, CultureInfo, BindingExpressionBase) |
Realiza verificações de validação sobre um valor. |
| Validate(Object, CultureInfo, BindingGroup) |
Realiza verificações de validação sobre um valor. |
| Validate(Object, CultureInfo) |
Quando sobrescrito numa classe derivada, realiza verificações de validação sobre um valor. |