Итак, у меня есть модель с именем Proyecto
, созданная первым методом базы данных.Чтобы добавить аннотации для модели, я создал новый частичный тип класса, в котором я установил аннотации, но он не работает только на custom one
.Вот как я пытался добиться этого:
Первый
В этом я установил интерфейс для класса
[MetadataType(typeof(Proyecto.MetaData))]
public partial class Proyecto : IValidatableObject
{
private class MetaData
{
[Display(Name = "Fecha de Solicitud")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> FechaSolicitud { get; set; }
[Required(ErrorMessage="Debe ingresar a un encargado de la información para el proyecto")]
[Display(Name="Responsable de la Informacion")]
public string ResponsableInformacion { get; set; }
[Display(Name="Cliente Nuevo")]
public Nullable<bool> ClienteNuevo { get; set; }
[Required(ErrorMessage="Debe colocar una explicación que describa la aplicacion a desarrollar")]
public string Descripcion { get; set; }
[Required(ErrorMessage="Debe Seleccionar un tipo de requerimiento")]
public Nullable<byte> IdTipoRequerimiento { get; set; }
[Display(Name="Nombre del Cliente")]
public string NombreCliente { get; set; }
}
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if ((ClienteNuevo == true) && (NombreCliente == String.Empty))
{
yield return new ValidationResult("Debe Colocar un nombre al Cliente");
}
}
}
Второй Я пытался реализовать интерфейс в классе метаданных
[MetadataType(typeof(Proyecto.MetaData))]
public partial class Proyecto
{
private class MetaData : IValidatableObject
{
[Display(Name = "Fecha de Solicitud")]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> FechaSolicitud { get; set; }
[Required(ErrorMessage="Debe ingresar a un encargado de la información para el proyecto")]
[Display(Name="Responsable de la Informacion")]
public string ResponsableInformacion { get; set; }
[Display(Name="Cliente Nuevo")]
public Nullable<bool> ClienteNuevo { get; set; }
[Required(ErrorMessage="Debe colocar una explicación que describa la aplicacion a desarrollar")]
public string Descripcion { get; set; }
[Required(ErrorMessage="Debe Seleccionar un tipo de requerimiento")]
public Nullable<byte> IdTipoRequerimiento { get; set; }
[Display(Name="Nombre del Cliente")]
public string NombreCliente { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
if ((ClienteNuevo == true) && (NombreCliente == String.Empty))
{
yield return new ValidationResult("Debe Colocar un nombre al Cliente");
}
}
}
}
Что я делаю не так ???
ОБНОВЛЕНИЕ
Я пытался модифицировать модификатор доступа класса метаданных к public и только с именем класса, но все еще не работающий ...