【发布时间】:2012-01-26 23:36:43
【问题描述】:
所以我有一个名为Proyecto 的模型,由数据库优先方法创建。要为模型添加注释,我创建了一个新的类类型 partial,我在其中设置了注释,但它不仅适用于 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 并且仅使用类的名称但仍然无法正常工作...
【问题讨论】:
标签: c# asp.net-mvc-3