Hola a todos!
Estoy desarrollando una aplicación que utiliza NHibernate, Validator
yUnhaddins GuyWire. Puedo usar capas MVVM así.
Estoy tratando de hacer una notificación para informar al usuario de
queun campo en la pantalla está en blanco, vacío. En el momento de la
escritura, la notificación se muestra en la pantalla, pero el cuadro
de texto de campo no cambia el comportamiento, o girar la caja de
herramientas que indica que el campo en cuestión no puede estar
vacío.Ya tengo una aplicación que nombró como IsValid que comprueba lo
que es válido o no para grabar. Esto ya está trabajando, es lo que
dice lo que es el campo en el momento de la escritura, que está vacío
o no.

El siguiente código IsValid ():

        /// <summary>
        /// Return True if it's a valid slab.
        /// </summary>
        /// <param name="slab"></param>
        /// <returns></returns>
        [PersistenceConversation(Exclude = true)]
        public Boolean IsValid(Slab slab)
        {
            foreach (IInvalidValueInfo erro in
entityValidator.Validate(slab))
                InvalidMessage = erro.Message;
            return entityValidator.IsValid(slab);
        }

  Dentro de 'Resources':

 <Style TargetType="{x:Type ct:TextBoxExtended }">
            <Style.Triggers>
                <Trigger Property="Validation.HasError" Value="true">
                    <Setter Property="ct:TextBoxExtended.ToolTip"
Value="{Binding RelativeSource={RelativeSource Self},
Path=(Validation.Errors)[0].ErrorContent}"/>
                </Trigger>
            </Style.Triggers>
        </Style>

Mi TextBoxExtended és un control de usuario creado por nosotros.Tiene
casi todas las características del cuadro de texto común, sólo quese
extienden:

<ct:TextBoxExtended Name="txbBISRA" Name="txbBISRA" Text="{Binding
PlacasSelectedItem.Slab.InfBISRA, ValidatesOnDataErrors=True}"/>

<ct:TextBoxExtended Name="txbQualidade" Text="{Binding
PlacasSelectedItem.Slab.InfSteelQuality, ValidatesOnDataErrors=True}"/
>

Mi clase de validación:

using NHibernate.Validator.Cfg.Loquacious;

namespace Repository
{

    public class SlabValidation : ValidationDef<Slab>
    {
        long minBISRA = 1;
        public SlabValidation()
        {
            Define(e =>
e.InfBISRA).GreaterThanOrEqualTo(minBISRA).WithMessage("BISRA deve ser
maior que 0");
            Define(e =>
e.InfSteelQuality).NotNullableAndNotEmpty().WithMessage("Qualidade não
pode ser nulo");
        }
    }
}


Él no informa ningún error pero no hace nada. ¿Qué falta?

-- 
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano

Responder a