天天看點

MetadataType的使用,MVC的Model層資料驗證

//ActivityFlowContent是實體模型的model類 

//ActivityFlowContentMetadata是自己寫的model類

//這兩個類屬性相同可以形成映射關系,ActivityFlowContent中還可以加其他額外字段

[MetadataType(typeof(ActivityFlowContentMetadata))]

    public partial class ActivityFlowContent : IBaseEntity

    {

        [Display(Name = "活動流程分類")]

        public string ActivityClassificIDOld { get; set; }

        #region 自定義屬性

        #endregion

    }

    public class ActivityFlowContentMetadata

            [ScaffoldColumn(false)]

            [Display(Name = "主鍵", Order = 1)]

            public string ID { get; set; }

            [ScaffoldColumn(true)]

            [StringLength(36, ErrorMessage = "長度不可超過36")]

            [Display(Name = "活動分類ID", Order = 2)]

            public object ActivityClassificID { get; set; }

            [StringLength(200, ErrorMessage = "長度不可超過200")]

            [Display(Name = "活動摘要", Order = 3)]

            public object Sumary { get; set; }

            [DataType(DataType.MultilineText,ErrorMessage="字元格式不正确")]

            [Display(Name = "活動内容", Order = 4)]

            public object Content { get; set; }

            [StringLength(50, ErrorMessage = "長度不可超過50")]

            [Display(Name = "關鍵字", Order = 5)]

            public object Keywords { get; set; }