我写了几个自定义验证类,它们允许比较日期对以查看它们是否有效,例如结束日期为开始日期或之后。参见mvc4 data annotation compare two dates。当在单个模型中使用时,这些效果很好。但是我不知道如何在父实体和子实体的视图模型中使用它们来创建和编辑子实体。
让父实体为“学术日历”,子实体为“课程”。我正在尝试创建或编辑课程。除了要求课程开始日期和结束日期有效之外,我还需要检查课程开始日期在日历开始日期或之后,以及课程结束日期在日历结束日期或之前。因此,我需要比较两个数据模型中的日期。
我创建了一个包含课程数据和日历数据的视图模型,例如CourseId,CourseName,CourseStartDate,CourseEndDate以及CalendarId,CalendarName,CalendarStartDate和CalendarEndDate。在视图中,我可以为日历创建一个下拉列表,其中的值和文本字段分别对应于ID和名称,例如1和2018年秋季。我的问题是我需要能够显示与所选日历相对应的相应日历开始和结束日期。使用Web窗体,我可以在下拉菜单中添加额外的隐藏列,但是我不知道如何使用MVC和Razor。我希望日历日期位于只读文本框中,因此在尝试插入新课程或更新现有课程之前,我的比较验证类可以检查这些日期。当下拉列表中的选择更改时,我需要这些日历日期值进行更改。