Foros del Web » Programación para mayores de 30 ;) » .NET »

Llamar a validación Inicialmente.

Estas en el tema de Llamar a validación Inicialmente. en el foro de .NET en Foros del Web. Buenas Foreros !!! A ver si alguien puede ayudarme con este temilla... Tengo un Model que implementa la interfaz IDataErrorInfo Tengo una caja de texto ...
  #1 (permalink)  
Antiguo 02/06/2014, 03:47
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 5 meses
Puntos: 7
Llamar a validación Inicialmente.

Buenas Foreros !!!

A ver si alguien puede ayudarme con este temilla...

Tengo un Model que implementa la interfaz IDataErrorInfo

Tengo una caja de texto Bindada a una propiedad de mi Model, y también un CheckBox.

La idea es la siguiente, si el checkbox está checkado, la caja de texto no puede estar vacía.

Si checko el checkbox a true, y escribo algo en el textbox, y luego lo dejo blanco, ZAS, se lanza el mensaje de error, PERFECTO.

El problema es que.. tengo que escribir algo en el TextBox para que se empiece a realizar la validación.

¿Hay alguna forma desde XAML o respetando el MVVM para poder hacer que se inicie la validación inicialmente?

Os dejo como tengo los controles validados:


<!-- LA IDEA ES QUE AL HACER CHECK EN EL CHECKBOX, AL NO HABERSE ESCRITO NADA EN LA CAJA DE TEXTO, DEBERÍA SALIR YA EL MENSAJE DE ERROR, SIN TENER QUE ESPERAR A ESCRIBIR NADA EN LA CAJA DE TEXTO -->

Código XML:
Ver original
  1. <CheckBox Grid.Column="0" Name="chkSaveTif" IsChecked="{Binding ExifModel.GenerateTiff, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" Content="Guardar Tif Generado" />
  2.  
  3.  
  4. <TextBox Grid.Column="1" IsEnabled="{Binding ElementName=chkSaveTif, Path=IsChecked}" Name="txtFileName"
  5.                                 Text="{Binding ExifModel.FileName, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, ValidatesOnExceptions=True}"
  6.                                 ToolTip="{Binding ElementName=txtFileName, Path=(Validation.Errors)[0].ErrorContent}" />


Les dejo también la parte del código del Model que realiza la validación.

Código:
        public string this[string columnName]
        {
            get
            {
                string errorResult = string.Empty;

                switch (columnName)
                {

                    case "FileName":

                        if (GenerateTiff && string.IsNullOrEmpty(FileName)) errorResult += "Debes indicar un nombre para el archivo a guardar. \r\n El fichero debe tener una extensión .TIF";

                        if (GenerateTiff && !string.IsNullOrEmpty(FileName) && !FileName.ToLower().EndsWith(".tif")) errorResult += "El fichero debe tener una extensión .TIF";
                        break;

                    case "GenerateTiff":

                        if (!GenerateTiff) errorResult = string.Empty;
                        break;
                }

                return errorResult;
            }
        }
__________________
Charlie.

Etiquetas: wpf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:45.