Compartir vía


ValidationRule.Validate Método

Definición

Realiza comprobaciones de validación en un valor.

Sobrecargas

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.

Validate(Object, CultureInfo)

Si se reemplaza en una clase derivada, realiza comprobaciones de validación en un 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

Valor del destino de enlace que se comprobará.

cultureInfo
CultureInfo

Referencia cultural que usará en esta regla.

Devoluciones

Un objeto ValidationResult.

Ejemplos

En el ejemplo siguiente se muestra cómo implementar una regla de validación. En el ejemplo siguiente, el valor de entrada no es válido si contiene caracteres no numéricos o si está fuera de los límites inferior y superior. Si el valor de entrada 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

Debe implementar este método al crear una subclase de la ValidationRule clase para crear una regla de validación personalizada.

Cada vez que el motor de enlace de datos transfiere un valor de la propiedad de destino de enlace (de la entrada del usuario) a la propiedad de origen de enlace (los datos subyacentes), comprueba si se ha definido alguno ValidationRules para ese enlace. Si ValidationRules se definen para el enlace, el motor llama al Validate método en cada ValidationRule uno de ellos hasta que uno de ellos encuentre un error o hasta que se pasen todos.

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

Consulte también

Se aplica a

Validate(Object, CultureInfo, BindingExpressionBase)

Realiza comprobaciones de validación en un 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

Valor del destino de enlace que se comprobará.

cultureInfo
CultureInfo

Referencia cultural que usará en esta regla.

owner
BindingExpressionBase

La expresión de enlace que utiliza la regla de validación.

Devoluciones

Un objeto ValidationResult.

Se aplica a

Validate(Object, CultureInfo, BindingGroup)

Realiza comprobaciones de validación en un 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

Valor del destino de enlace que se comprobará.

cultureInfo
CultureInfo

Referencia cultural que usará en esta regla.

owner
BindingGroup

El grupo de enlaces que utiliza la regla de validación.

Devoluciones

Un objeto ValidationResult.

Se aplica a