如何在不知道每个集合中有多少元素的情况下,如何将必需属性(如验证)应用于以下内容:
public class MyViewPageViewModel
{
[Required]
public List<int> IntCollection { get; set; }
[Required]
public Dictionary<int, string> IntAndStringAllValueCollection { get; set; }
[Required("Value")]
public Dictionary<int, string> IntAndStringValueValidationCollection { get; set; }
[Required("Name","HairColor")]
public List<Person> PersonNameValidationCollection { get; set; }
}
对于IntCollection,我希望每个元素都是必需的。对于IntAndStringAllValueCollection,我希望每个Key和每个Value都是必需的。对于IntAndStringValueValidationCollection,我不希望Key是必需的,但我希望需要Value。
答案 0 :(得分:0)
虽然我希望能够像上面所表达的那样做,但解决问题的一种方法是:
public class PageViewModel
{
public List<RequiredStartAndEndDateTuple> OnlineDates { get; set; }
}
public class RequiredStartAndEndDateTuple
{
public RequiredStartAndEndDateTuple() { }
public RequiredStartAndEndDateTuple(DateTime? startDate, DateTime? endDate)
{
OnlineStartDate = startDate;
OnlineEndDate = endDate;
}
[Required(ErrorMessage = "Start Date Required")]
public DateTime? OnlineStartDate { get; set; }
//-- Note, no attribute means end date not required
public DateTime? OnlineEndDate { get; set; }
}
如果您对Controller&amp ;;感兴趣查看比特,请查看:
http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx
专门获取项目源代码并使用强类型帮助程序
查看“顺序”页面