ASP.NET MVC中动态类型属性的模型验证

时间:2011-08-24 12:44:31

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-2

我想在模型实体上实现模型验证逻辑,该模型实体包含字符串类型的模型属性,表示其他属性的数据类型(例如Boolean,float,integer,datetime,string)。

我想找出可用的选项,或者可能是最佳选择。

以下是模型实体:

public class CarEditViewModel
   {
        public List<CarParameter> CarParameters {get;set;}
        //other properties
   }

public class CarParameter
{
    public virtual int Id { get; set; }
    public virtual string Name { get; set; }
    public virtual bool ShowHide { get; set; }
    public virtual string DefaultValue { get; set; }
    public virtual string DataType { get; set; }  //can be type of Boolean, float, integer, datetime, string
}

如上所示,DataType表示DefaultValue属性的数据类型。 CarEditViewModel用于MVC编辑视图。 CarEditViewModel包含CarParameter的集合。

谢谢!

1 个答案:

答案 0 :(得分:1)

更好的方法是将其创建为枚举。

如果您使用的是MVC 3,请结帐IValidatableObject

How do I use IValidatableObject?