好的,我对如何处理这个问题感到有点失落,而且我正在寻找关于这个方向的想法。
我正在开发一个ASP.Net MVC 3 w / Razor网站,该网站将处理一组学校的注册。在注册过程开始时,用户被问到他们正在注册哪所学校。他们正在注册的学校将决定需要哪些信息(一所学校需要SSN,而另一所学校不需要,一个需要驾驶执照#而另一所不需要等等)。我正在使用LINQ to SQL,并使用LINQ to SQL生成的模型作为我的视图模型。我已经通过网站其余部分的属性使用了不显眼的验证,所以我希望如果可能的话继续这样做。那么如何根据他们要去的学校制作模型的属性呢?
我能想到的一个解决这个问题的方法是为每个学校提供一个视图(或一系列视图),以及如何使验证取决于使用哪个视图,但我不确定如何通过不引人注目的验证来做到这一点。
或者也许对所有学校使用相同的视图,但如果我能找到一种方法将SchoolID送到自定义验证器(它的javascript端和服务器端),则可以使用自定义验证器<RequiredForSchools(requiredSchoolIDs as Integer())>
。
答案 0 :(得分:0)
有多少变量?你可以把它压缩到几个,或者不到10个?在这种情况下,您可以为每个使用视图模型,其中少数变体可能是最简单的。您可以根据学校选择视图模型。
如果变化太多,那么您可能必须编写自己的验证属性来进行决策。