Compartir vía


ValidationRule Clase

Definición

Proporciona una manera de crear una regla personalizada para comprobar la validez de la entrada del usuario.

public ref class ValidationRule abstract
public abstract class ValidationRule
type ValidationRule = class
Public MustInherit Class ValidationRule
Herencia
ValidationRule
Derivado

Ejemplos

En el ejemplo siguiente se muestra cómo implementar una regla de validación. El valor de entrada no es válido si contiene caracteres no numéricos o si está fuera de los límites inferiores y superiores. Si el valor del devuelto ValidationResult no es válido, la ErrorContent propiedad se establece en el mensaje de error adecuado y la IsValid propiedad se establece falseen .

Para obtener el ejemplo completo, consulte How to: Implement Binding Validation.

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

Comentarios

Al usar el modelo de enlace de datos de WPF, puede asociarlo ValidationRules con el objeto de enlace. Para crear reglas personalizadas, cree una subclase de esta clase e implemente el Validate método . Opcionalmente, use el elemento integrado ExceptionValidationRule, que detecta las excepciones que se producen durante las actualizaciones de origen o , DataErrorValidationRuleque comprueba si hay errores generados por la IDataErrorInfo implementación del objeto de origen.

El motor de enlace comprueba cada uno de los ValidationRule elementos asociados a un enlace cada vez que transfiere un valor de entrada, que es el valor de la propiedad de destino de enlace, a la propiedad de origen de enlace.

Para obtener información detallada sobre la validación de datos, consulte Introducción al enlace de datos.

Para obtener información sobre cómo validar los datos proporcionados por el usuario en un cuadro de diálogo, vea Información general sobre los cuadros de diálogo.

Constructores

ValidationRule()

Inicializa una nueva instancia de la clase ValidationRule.

ValidationRule(ValidationStep, Boolean)

Inicializa una nueva instancia de la clase ValidationRule con el paso de validación especificado y un valor que indica si la regla de validación se ejecuta cuando se actualiza el destino.

Propiedades

ValidatesOnTargetUpdated

Obtiene o establece un valor que indica si la regla de validación se ejecuta cuando se actualiza el destino de Binding.

ValidationStep

Obtiene o establece cuándo se ejecuta la regla de validación.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
Validate(Object, CultureInfo)

Si se reemplaza en una clase derivada, realiza comprobaciones de validación en un valor.

Validate(Object, CultureInfo, BindingExpressionBase)

Realiza comprobaciones de validación en un valor.

Validate(Object, CultureInfo, BindingGroup)

Realiza comprobaciones de validación en un valor.

Se aplica a

Consulte también