Help me please!!!
siguiendo un tutorial de MSDN, hice una Validación Personalizada, muy sencilla a modo de prueba, solo verifico que uno de los campos de una tabla (Frecuencia) sea mayor que 0, y cuando en una pantalla trato de modificar un registro de esa tabla, y pongo
un 0 en el campo Frecuencia nunca me marca el recuadro rojo indicando el error, sin embargo al momento de Grabar, se sale por el error de que no se pudieron grabar los datos:
Error de validación en la operación Submit. Examine Entity.ValidationErrors para cada entidad en EntitiesInError para obtener más información.
mi validación la hice así:
public class mtto_TipoMantenimientoValidador
{
public static ValidationResult IsFrecuenciaValida(mtto_TipoMantenimiento mtto_TipoMantenimientoToValidate, ValidationContext context)
{
if (mtto_TipoMantenimientoToValidate.Frecuencia <= 0)
{
return new ValidationResult("Debe proporcionar una Frecuencia mayor a 0");
}
else
{
return ValidationResult.Success;
}
}
}
[MetadataTypeAttribute(typeof(mtto_TipoMantenimiento.mtto_TipoMantenimientoMetadata))]
public partial class mtto_TipoMantenimiento
{
internal sealed class mtto_TipoMantenimientoMetadata
{
private mtto_TipoMantenimientoMetadata()
{
}
[Required(ErrorMessage = "La Clave del Tipo de Mantenimiento no puede ser nula")]
[MaxLength(10, ErrorMessage = "La Clave del Tipo de Mantenimiento debe ser de longitud máxima 10")]
[RegularExpression(@"^[A-Za-z0-9Ññ\s]*$",
ErrorMessage = "Solo se permiten letras y números")]
public string ClaveMtto { get; set; }
public bool Estatus { get; set; }
[Required(ErrorMessage = "Debe indicar la Frecuencia")]
[RegularExpression(@"^[0-9]*$",
ErrorMessage = "Solo se permiten números")]
[CustomValidation(typeof(mtto_TipoMantenimientoValidador), "IsFrecuenciaValida")]
public int Frecuencia { get; set; }
yo esperaría que al igual que las otras validaciones (Required, RegularExpression) si no cumple, me salga el mensaje que yo definí aquí, pero no me marca nada en la captura
todo esto está en el archivo que se autogeneró con RIA Services, en mi proyecto este archivo se llama DomainServiceMTTO.metadata.cs
alguien sabe qué estoy haciendo mal??? les agradezco mucho cualquier orientación, saludos!!
cyndyrdz