ValidationRule.Validate Método

Definición

Realiza comprobaciones de validación en un valor.Performs validation checks on a value.

Sobrecargas

Validate(Object, CultureInfo)

Si se reemplaza en una clase derivada, realiza comprobaciones de validación en un valor.When overridden in a derived class, performs validation checks on a value.

Validate(Object, CultureInfo, BindingExpressionBase)

Realiza comprobaciones de validación en un valor.Performs validation checks on a value.

Validate(Object, CultureInfo, BindingGroup)

Realiza comprobaciones de validación en un valor.Performs validation checks on a value.

Validate(Object, CultureInfo)

Si se reemplaza en una clase derivada, realiza comprobaciones de validación en un valor.When overridden in a derived class, performs validation checks on a value.

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á.The value from the binding target to check.

cultureInfo
CultureInfo

Referencia cultural que usará en esta regla.The culture to use in this rule.

Devoluciones

ValidationResult

Objeto ValidationResult.A ValidationResult object.

Ejemplos

En el ejemplo siguiente se muestra cómo implementar una regla de validación.The following example shows how to implement a validation rule. 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.In the following example, the input value is invalid if it contains non-numeric characters or if it is outside the lower and upper bounds. Si el valor de entrada no es válido, la ErrorContent propiedad se establece en el mensaje de error correspondiente y la IsValid propiedad se establece en false .If the input value is invalid, the ErrorContent property is set to the appropriate error message and the IsValid property is set to false.

Para obtener el ejemplo completo, vea Cómo: implementar la validación de enlaces.For the complete example, see 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.You must implement this method when you create a subclass of the ValidationRule class in order to create a custom validation rule.

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 ValidationRules se ha definido alguno para ese enlace.Each time the data binding engine transfers a value from the binding target property (from user input) to the binding source property (the underlying data), it checks whether any ValidationRules are defined for that binding. Si ValidationRules se definen para el enlace, el motor llama al Validate método en cada ValidationRule hasta que uno de ellos encuentra un error o hasta que todos pasan.If ValidationRules are defined for the binding, the engine calls the Validate method on each ValidationRule until one of them finds an error or until all of them pass.

Para obtener información detallada sobre la validación de datos, vea información generalsobre el enlace de datos.For detailed information about data validation, see Data Binding Overview.

Consulte también

Se aplica a

Validate(Object, CultureInfo, BindingExpressionBase)

Realiza comprobaciones de validación en un valor.Performs validation checks on a value.

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á.The value from the binding target to check.

cultureInfo
CultureInfo

Referencia cultural que usará en esta regla.The culture to use in this rule.

owner
BindingExpressionBase

La expresión de enlace que utiliza la regla de validación.The binding expression that uses the validation rule.

Devoluciones

ValidationResult

Objeto ValidationResult.A ValidationResult object.

Se aplica a

Validate(Object, CultureInfo, BindingGroup)

Realiza comprobaciones de validación en un valor.Performs validation checks on a value.

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á.The value from the binding target to check.

cultureInfo
CultureInfo

Referencia cultural que usará en esta regla.The culture to use in this rule.

owner
BindingGroup

El grupo de enlaces que utiliza la regla de validación.The binding group that uses the validation rule.

Devoluciones

ValidationResult

Objeto ValidationResult.A ValidationResult object.

Se aplica a