如何处理根据MVC中的视图而变化的验证是不知所措的

时间:2011-06-09 15:46:42

标签: asp.net-mvc asp.net-mvc-3 linq razor unobtrusive-validation

好的,我对如何处理这个问题感到有点失落,而且我正在寻找关于这个方向的想法。

我正在开发一个ASP.Net MVC 3 w / Razor网站,该网站将处理一组学校的注册。在注册过程开始时,用户被问到他们正在注册哪所学校。他们正在注册的学校将决定需要哪些信息(一所学校需要SSN,而另一所学校不需要,一个需要驾驶执照#而另一所不需要等等)。我正在使用LINQ to SQL,并使用LINQ to SQL生成的模型作为我的视图模型。我已经通过网站其余部分的属性使用了不显眼的验证,所以我希望如果可能的话继续这样做。那么如何根据他们要去的学校制作模型的属性呢?

我能想到的一个解决这个问题的方法是为每个学校提供一个视图(或一系列视图),以及如何使验证取决于使用哪个视图,但我不确定如何通过不引人注目的验证来做到这一点。

或者也许对所有学校使用相同的视图,但如果我能找到一种方法将SchoolID送到自定义验证器(它的javascript端和服务器端),则可以使用自定义验证器<RequiredForSchools(requiredSchoolIDs as Integer())>

1 个答案:

答案 0 :(得分:0)

有多少变量?你可以把它压缩到几个,或者不到10个?在这种情况下,您可以为每个使用视图模型,其中少数变体可能是最简单的。您可以根据学校选择视图模型。

如果变化太多,那么您可能必须编写自己的验证属性来进行决策。